反向解析
根据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,
模板继承
block:在父模块中预留区域
{% block con1 %}
父内容
{%endblock%}
extends:继承,必须写在第一行
{% extends 'booktest/base.html %}
子模块的填坑:
{% block con1 %}
子内容
{% endblock con1 %}
子内容会把父模块坑中的内容替换
html转义
使用context上下文通过视图传递的html标签默认会被转义.
< 会转换为<
> 会转换为>
' (单引号) 会转换为'
" (双引号)会转换为 "
& 会转换为 &
可以使用过滤器取消转义
content={'t1':'
上下文
'}{{ t1 | safe }}
或者使用代码块标签
{{autoescape off}}
{{t1}}
{{endautoescape}}
变量定义过默认值的形式
当视图没有传入对应的上下文时,是带标签格式输出 默认值 ,
当有传入,则按传入的上下文输出
{{ t2 | default:"
默认值
"}}如果想不带格式,完整的输入整个标签