关于django中templates中几个小知识

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 '模板文件' %}


 

猜你喜欢

转载自blog.csdn.net/weixin_43788061/article/details/86254865