django模板模块相关问题

1.)Django框架对于模板文件的加载顺序:
首先在setting配置好的位置搜索template文件夹下模板文件
其次在系统注册的应用中的admin下的templates文件夹下搜索模板文件
接着在系统注册的应用中的auth下的templates文件夹下搜索模板文件
最后在自己注册的(且含有templates)应用下templates文件夹下搜索模板文件
在这里插入图片描述
2.)模板变量的调用:
在这里插入图片描述
这里可以看出模板变量的调用可以是字典,列表,对象三类。

3.)模板标签:
常用的有IF For循环结构
{%if …%}
逻辑1
{%elif …%}
逻辑2
{%else%}
逻辑3
{%endif%}
{%for item in 列表%}
循环逻辑
{{forloop.counter}}表示当前是第几次循环,从1开始
{%empty%}
列表为空或不存在时执行此逻辑
{%endfor%}
4.)过滤器:对于模板变量的显示结果进行x修饰
常用的有date,default,lenth:
{{ book.bpub_date|date:‘Y年-m月-d日’}
{{ book.btitle|length }}
{{ book.btitle }}
5.)自定义过滤器:(自定义的过滤器至少有1个参数,最后又两个参数)
首先在应用文件夹(booktest)下建立python包 名必须为templatetags,创建filters.py
然后 from django.template from Library 创建对象
接着 完成过滤函数后添加@register.filter
最后在模板文件中导入{%load filters%} 使用自定义的过滤器
6.)模板继承:
继承语句: {% extends 父类模板文件位置(‘booktest/base.html’ )%}
在这里插入图片描述
7.)模板文件的转义:
通过safe装饰器转义:{{ zhuanyi1|safe }}
通过关键字转义:{% autoescape off%}{{ zhuanyi2 }}{% endautoescape %}
硬编码的需要手动转义:{{data|default:"<b>123</b>"}}

猜你喜欢

转载自blog.csdn.net/qq_18883663/article/details/88195585