目录
零之前言
Django中,模板常见的四个用法是:{{ 变量 }} {% 标签 %} {{ 变量 | 变量的过滤器 }} {# 注释 #}
一.变量
1.语法
变量的使用语法很简单,只需要在模板里写上我们的在Views里传入的变量名称,并用{{ }}括起来即可。例如:{{ 变量 }}
2.使用普通变量
在我们views里面将我们的变量打包后,即可直接在模板里调用我们的变量。
3.引入模型
我们可以在views创建实例化一个我们的模型,然后将我们的模型打包,并且像普通变量调用即可:
可以调用模型的属性,也可以调用模型的方法。
二.标签
1.说明
标签又相当于使用了部分python的代码段,但只限于部分,使其在模板里执行一部分逻辑语句。
2.for语法
{% for ... in ... %}
{{ forloop.counter }} 表示当前是第几次循环
{% empty %}
列表是空或不存在的时候,执行这里
{% endfor %}
3.if语法
{% if ... %}
逻辑1
{% elif ... %}
逻辑2
{% else %}
逻辑3
{% endif %}
4.url反向解析
{% url 'namespace:name' %}
举例:
三.过滤器
1.语法
过滤器相当于是调用一种函数来对前面的变量进行格式化的操作,比如:
{{ a|lower }}
这样就是使用lower过滤器去处理变量a,lower过滤器是将a中的字符全部变为小写。
2.过滤器大全
我没有过多的整理,所以贴出两个我常用的过滤器列表,知道有哪些过滤器就行,然后有需要的时候去查找就行。
https://www.cnblogs.com/huangxm/p/6286144.html (有教如何自建过滤器的方法)
https://blog.csdn.net/weixin_42042680/article/details/80397836 (常见的过滤器)
四.注释
1.语法
这个不用多说。{# 这里面写注释 #}
五.模板的继承
模板是可以继承的,就如同很多网页,他们的顶部与底部或者两侧是一模一样的,所以我们可以使用模板继承来减少我们的代码量。来提高我们的代码复用率。
不想举例子了,给出其他博主的链接:https://www.cnblogs.com/kumata/p/9687532.html
六.Html转义
如果你是不想在上面显示例如 <h1>1</h1>而使它变成响应的H5代码,那么我们就需要用一种特殊的标签来使得我们能够转义,比如:
对a = '<h1>1</h1>'
{{ a | safe }} #这种只会显示html代码下的1
{{ text }}
{{ text | escape }} #这两种都会显示为<h1>1</h1>
大段的代码建议通过autoescape的 on/off来转义
{% autoescape off %}
{{text1}}
{% endautoescape %}