• 反向解析_模板继承_html 转义


    反向解析

    根据url正则生成一个地址
    href = "{% url 'booktest:show' %}"
    正则如果分组了,分几个组就传几个参数,反向解析就需要传参,直接空格再后面写就可以了,如:
    {% url 'booktest:show' 'p1' 'p2' %}
    
    好处:动态生成链接地址,降低维护成本
    

    示例

    # views.py
    def reverse(request):
        return render(request, 'reverse.html')
    
    def test(request, p1):
        # 如果正则分组了,这里必须有对应的位置参数来接收,用于接收正则分组匹配到的地址.
        return HttpResponse('holle')
        
    # booktest/urls.py
    url(r'^(w+)$',views.test,name='test')
    
    # test2/urls.py4
    url(r'^', include('booktest.urls',namespace='booktest'))
    
    # reverse.html
    # 如果正则分组了这里必须设置参数,用于设置浏览器的地址,如这里的1122,
    <a href="{% url 'booktest:test' '1122' %}">反向解析</a>
    
    
    

    模板继承

    block:在父模块中预留区域
        {% block con1 %}
            父内容
        {%endblock%}
        
    extends:继承,必须写在第一行
        {% extends 'booktest/base.html %}
    子模块的填坑:
        {% block con1 %}
            子内容
        {% endblock con1 %}
    子内容会把父模块坑中的内容替换
        
    

    html转义

    使用context上下文通过视图传递的html标签默认会被转义.
    
    < 会转换为&lt;
    > 会转换为&gt;
    ' (单引号) 会转换为&#39;
    " (双引号)会转换为 &quot;
    & 会转换为 &amp;
    
    可以使用过滤器取消转义
    content={'t1':'<h1>上下文</h1>'}
    {{ t1 | safe }}
    或者使用代码块标签
    {{autoescape off}}
    {{t1}}
    {{endautoescape}}
    

    变量定义过默认值的形式

    当视图没有传入对应的上下文时,是带标签格式输出 默认值 ,
    当有传入,则按传入的上下文输出
    {{ t2 | default:"<h1>默认值</h1>"}}
    如果想不带格式,完整的输入整个标签<h1>默认值</h1>,则需要手动转义.
    
    
  • 相关阅读:
    线程共享全局变量和私有全局变量
    线程退出前操作
    Linux下线程pid和tid
    几种常见的光纤接头(ST,SC,LC,FC)以及PC、APC和UPC的区别
    Javascript对象及数组用法笔记
    Javascript对象及数组用法笔记
    程序员特有的9个坏习惯
    程序员特有的9个坏习惯
    程序人生:真正的效率源自专注
    程序人生:真正的效率源自专注
  • 原文地址:https://www.cnblogs.com/fanlei5458/p/9033186.html
Copyright © 2020-2023  润新知