python模板语言_Django模板语言 Tags使用详解

Tags

# 普通for循环

{% for user in user_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

{% for user in user_list %}

{{ user.name }}

{% empty %}

空空如也

{% endfor %}

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判断。

with

# 定义一个中间变量,多用于给一个复杂的变量起别名。

# 注意等号左右不要加空格。

{% with total=business.employees.count %}

{{ total }} employee{{ total|pluralize }}

{% endwith %}

# 或

{% with business.employees.count as total %}

{{ total }} employee{{ total|pluralize }}

{% endwith %}

csrf_token

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

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

注意事项

Django的模板语言不支持连续判断,即不支持以下写法:

{% if a > b > c %}

...

{% endif %}

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的值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值