Django模板语言 Tags使用详解


Posted in Python onSeptember 09, 2019

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

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

Python 相关文章推荐
python实现感知器算法详解
Dec 19 Python
NumPy 如何生成多维数组的方法
Feb 05 Python
Python遍历pandas数据方法总结
Feb 09 Python
python如何求解两数的最大公约数
Sep 27 Python
Python实现简易过滤删除数字的方法小结
Jan 09 Python
python3使用QQ邮箱发送邮件
May 20 Python
django中使用POST方法获取POST数据
Aug 20 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 Python
基于python实现生成指定大小txt文档
Jul 20 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 Python
Python中turtle库的使用实例
Sep 09 #Python
Django之路由层的实现
Sep 09 #Python
python中web框架的自定义创建
Sep 08 #Python
python web框架中实现原生分页
Sep 08 #Python
python中open函数的基本用法示例
Sep 07 #Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 #Python
利用python计算时间差(返回天数)
Sep 07 #Python
You might like
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
php合并js请求的例子
2013/11/01 PHP
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
详解webpack分包及异步加载套路
2017/06/29 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
vue--vuex详解
2019/04/15 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
python使用knn实现特征向量分类
2018/12/26 Python
Python使用python-docx读写word文档
2019/08/26 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
django 多数据库及分库实现方式
2020/04/01 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
餐厅经理岗位职责范本
2014/02/17 职场文书
大学英语专业求职信
2014/06/21 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
退伍军人感言
2015/08/01 职场文书
九年级英语教学反思
2016/02/15 职场文书
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS