码迷,mamicode.com
首页 > 编程语言 > 详细

Django模板语言-Tags

时间:2019-09-08 21:49:43      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:oid   ret   business   -o   开始   cut   oop   有用   for   

Tags

  1. Tags
    # 普通for循环
    
    <ul>
    {% for user in user_list %}
        <li>{{ user.name }}</li>
    {% endfor %}
    </ul>

    for循环可用的一些参数:

    VariableDescription
    forloop.counter 当前循环的索引值(从1开始)
    forloop.counter0 当前循环的索引值(从0开始)
    forloop.revcounter 当前循环的倒序索引值(从1开始)
    forloop.revcounter0 当前循环的倒序索引值(从0开始)
    forloop.first 当前循环是不是第一次循环(布尔值)
    forloop.last 当前循环是不是最后一次循环(布尔值)
    forloop.parentloop 本层循环的外层循环

    for ... empty

    # 如果user_list 里面元素为0个的时候执行 empty
    
    <ul>
    {% for user in user_list %}
        <li>{{ user.name }}</li>
    {% empty %}
        <li>空空如也</li>
    {% endfor %}
    </ul>

     

  2. if判断

    # if,elif和else
    
    
    {% if user_list %}
      用户人数:{{ user_list|length }}
    {% elif black_list %}
      黑名单数:{{ black_list|length }}
    {% else %}
      没有用户
    {% endif %}
    # 当然也可以只有if和else
    
    {% if user_list|length > 5 %}
      七座豪华SUV
    {% else %}
        黄包车
    {% endif %}
    
    # if语句支持 and 、or、==、>、<、!=、<=、>=、in、not in、is、is not判断。

     

  3. with

    # 定义一个中间变量,多用于给一个复杂的变量起别名。
    
    # 注意等号左右不要加空格。
    
    {% with total=business.employees.count %}
        {{ total }} employee{{ total|pluralize }}
    {% endwith %}
    
    #
    
    {% with business.employees.count as total %}
        {{ total }} employee{{ total|pluralize }}
    {% endwith %}

     

  4. csrf_token

    这个标签用于跨站请求伪造保护。

    在页面的form表单里面写上{% csrf_token %}

  5. 注意事项

    1. Django的模板语言不支持连续判断,即不支持以下写法:
      {% if a > b > c %}
      ...
      {% endif %}

       

    2. Django的模板语言中属性的优先级大于方法
      def xx(request):
          d = {"a": 1, "b": 2, "c": 3, "items": "100"}
          return render(request, "xx.html", {"data": d})

      如上,我们在使用render方法渲染一个页面的时候,传的字典d有一个key是items并且还有默认的 d.items() 方法,此时在模板语言中:

      {{ data.items }}

      默认会取d的items key的值。

Django模板语言-Tags

标签:oid   ret   business   -o   开始   cut   oop   有用   for   

原文地址:https://www.cnblogs.com/wtil/p/11488523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!