Django模板语言 Tags使用详解
作者:信奉上帝的小和尚 发布时间:2022-09-27 23:37:35
标签:django,模板,语言,tags
Tags
# 普通for循环
<ul>
{% for user in user_list %}
<li>{{ user.name }}</li>
{% endfor %}
</ul>
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
<ul>
{% for user in user_list %}
<li>{{ user.name }}</li>
{% empty %}
<li>空空如也</li>
{% endfor %}
</ul>
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的值。
来源:https://www.cnblogs.com/wtil/p/11488523.html


猜你喜欢
- 今天下午主要做了个实验,是针对 测试表的列,进行添加,修改,删除的。做法如下: 增加一列: alter table emp4 add tes
- 本文实例为大家分享了python合并同类型excel表格的具体代码,供大家参考,具体内容如下python脚本如下,验证有效。#!/usr/b
- 在python列表中,如果我们想要删除一个或者连续几个元素,可以使用del()方法,在numpy数组,如果想要删除元素,可以使用numpy.
- Pytorch:Conv2d卷积前后尺寸Conv2d参数尺寸变化卷积前的尺寸为(N,C,W,H) ,卷积后尺寸为(N,F,W_n,H_n)W
- 每次要显示图像阵列的时候,使用自带的 matplotlib 或者cv2 都要设置一大堆东西,subplot,fig等等,突然想起 可以利用n
- 经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢? 比如: <?php $ar
- 今天给大家介绍一个非常 NB 的Python 库,专门用来绘制地图的,它叫 Folium 。1. Folium简介Folium是一个基于le
- 如下所示:后台关键代码:data = {}#keys与values分别为该数据的键数组,值的数组。这里循环为字典添加对应键值for k, v
- 前言:如何悄悄的打开朋友的摄像头,看看她最近过的怎么样,嘿嘿!这次让我带你们来实现这个功能。注: 这个程序仅限在朋友之间开玩笑,别去搞什么违
- SQL Server所谓的分布式查询(Distributed Query)是能够访问存放在同一部计算机或不同计算机上的SQL Server或
- 1.什么是Proxy?它的作用是?据阮一峰文章介绍:Proxy可以理解成,在目标对象之前架设一层 "拦截",当外界对该对
- Javascript中的对像赋值与Java中是一样的,都为引用传递.就是说,在把一个对像赋
- 有时,为了方便看数据的变化情况,需要画一个动态图来看整体的变化情况。主要就是用Matplotlib库。首先,说明plot函数的说明。plt.
- 上一篇文章写到原生js取代jquery的一些常用函数:原生js仿jquery一些常用方法,那么,ajax如何实现呢?如下是一个比较完整的aj
- 1. 系统盘清理说明win7 80G的系统盘,随着使用时间的增加,空间越来越小,只剩不到2G,随计划清理系统盘数据1. maven 下载的j
- 最近遇到了一个下载静态html报表的需求,需要以提供压缩包的形式完成下载功能,实现的过程中发现相关文档非常杂,故总结一下自己的实现。开发环境
- 引言 今天和测试沟通一个百分比计算方式时遇到一个问题, 我在存储过程里用到了强转
- 前言之前在CentOS7安装php7.1的时候有遇到PHP源及PHP7.1不支持MySQL扩展问题,上午抽空安装了下终于解决了这两个问题,特
- 自己编写的用于对lineEdit编辑框输入的子网,例如:192.168.60.1/24字符串校验是否合规。# 限制lineEdit编辑框只能
- 本文实例讲述了PHP实现网页内容html标签补全和过滤的方法。分享给大家供大家参考,具体如下:如果你的网页内容的html标签显示不全,有些表