1.{# 单行注释 #}
2.{% comment %}
多行注释
{% endcomment %}
3.{% xxx %} 表示语句
4.{{ xx }} 表示变量
5.if语句
1 {% if xxx %}
xxx
{% endif %}
2 {% if xxx %}
xxx
{% else %}
xxx
{% endif %}
3 {% if 表达式 %}
语句
{% elif 表达式 %}
语句
{% endif %}
6.for语句,当列表为空或不存在时,执行empty之后的语句
{% for 变量 in 列表 %}
语句1
{% empty %}
语句2
{% endfor %}
{{ forloop.counter }} 表示当前是第几次循环,从1数数
{{ forloop.counter0}}表示当前是第几次循环,从0数数
{{ forloop.revcounter}}表示当前是第几次循环,倒着数数,到1停
{{ forloop.revcounter0}}表示当前第几次循环,倒着数,到0停
{{ forloop.first }} 是否是第一个 布尔值
{{ forloop.last }} 是否是最后一个 布尔值
7.url: 反向解析
{% url 'namespace:name' p1 p2 %}
8.csrf_token 用于跨站请求伪造保护的,表单提交时会使用到
格式 {% csrf_token %}
9.过滤器: {{ var|过滤器 }} 作用:在变量显示前修改
add {{ 变量 | add : 5 }} 加5,没有减法过滤器,但是加法里可以加负数
{{ 变量 | add : -5}}
lower {{ p.pname|lower }} 全小写,upper,全大写
过滤器可以传递参数,参数需要使用引号引起来
比如join: {{ students| join:'=' }} 空格需要注意
10.HTML转义
将接收到的数据当成普通字符串处理还是当成HTML代码来渲染的一个问题
渲染成html:{{ code|safe }}
11.跨站请求伪造
某些恶意网站包含链接,表单,按钮,Js利用登陆用户在浏览器中的认证信息,
进行非法操作,攻击服务,破坏数据
在表单中添加
{% csrf_token %}
在settings中的中间件MIDDLEWARE中配置打开
'django.middleware.csrf.CsrfViewMiddleware',
12.模板也可以继承
extends 继承,写在开头位置(化整为零)
{% extends '父模板文件' %}
include: 加载模板进行渲染,常为一个文件包含多个文件(化零为整)
格式{% include '模板文件' %}