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读写文本文件及编写简单的文本编辑器
Mar 11 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
聊聊Python中的pypy
Jan 12 Python
Python Xml文件添加字节属性的方法
Mar 31 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
pandas 如何分割字符的实现方法
Jul 29 Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 Python
Python应用实现双指数函数及拟合代码实例
Jun 19 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
Python数据可视化常用4大绘图库原理详解
Oct 23 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
功能齐全的PHP发送邮件类代码附详细说明
2008/07/10 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
js 获取radio按钮值的实例
2013/08/17 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
Django admin美化插件suit使用示例
2017/12/12 Python
Python单元测试实例详解
2018/05/25 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
python 19个值得学习的编程技巧
2020/08/15 Python
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
毕业生多媒体设计求职信
2013/10/12 职场文书
职称评定自我鉴定
2014/03/18 职场文书
物流管理专业求职信
2014/05/29 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
工作作风建设心得体会
2014/10/22 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android