您的位置:首页 > Web前端 > HTML

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

2018-05-13 20:19 267 查看
版权声明:转载请注明出处 https://blog.csdn.net/fanlei5458/article/details/80302297

反向解析

根据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>,则需要手动转义.
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: