Django模板语言 Tags使用详解
Tags
#普通for循环
-
{%foruserinuser_list%}
- {{user.name}} {%endfor%}
for循环可用的一些参数:
Variable | Description |
---|---|
forloop.counter | 当前循环的索引值(从1开始) |
forloop.counter0 | 当前循环的索引值(从0开始) |
forloop.revcounter | 当前循环的倒序索引值(从1开始) |
forloop.revcounter0 | 当前循环的倒序索引值(从0开始) |
forloop.first | 当前循环是不是第一次循环(布尔值) |
forloop.last | 当前循环是不是最后一次循环(布尔值) |
forloop.parentloop | 本层循环的外层循环 |
for...empty
#如果user_list里面元素为0个的时候执行empty
-
{%foruserinuser_list%}
- {{user.name}} {%empty%}
- 空空如也 {%endfor%}
if判断
#if,elif和else {%ifuser_list%} 用户人数:{{user_list|length}} {%elifblack_list%} 黑名单数:{{black_list|length}} {%else%} 没有用户 {%endif%}
#当然也可以只有if和else {%ifuser_list|length>5%} 七座豪华SUV {%else%} 黄包车 {%endif%} #if语句支持and、or、==、>、<、!=、<=、>=、in、notin、is、isnot判断。
with
#定义一个中间变量,多用于给一个复杂的变量起别名。 #注意等号左右不要加空格。 {%withtotal=business.employees.count%} {{total}}employee{{total|pluralize}} {%endwith%} #或 {%withbusiness.employees.countastotal%} {{total}}employee{{total|pluralize}} {%endwith%}
csrf_token
这个标签用于跨站请求伪造保护。
在页面的form表单里面写上{%csrf_token%}
注意事项
Django的模板语言不支持连续判断,即不支持以下写法:
{%ifa>b>c%} ... {%endif%}
Django的模板语言中属性的优先级大于方法
defxx(request): d={"a":1,"b":2,"c":3,"items":"100"} returnrender(request,"xx.html",{"data":d})
如上,我们在使用render方法渲染一个页面的时候,传的字典d有一个key是items并且还有默认的d.items()方法,此时在模板语言中:
{{data.items}}
默认会取d的itemskey的值。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。