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 相关文章推荐
下载给定网页上图片的方法
Feb 18 Python
Python内置数据类型详解
Aug 18 Python
python通过文件头判断文件类型
Oct 30 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
python2.7无法使用pip的解决方法(安装easy_install)
Apr 03 Python
python使用thrift教程的方法示例
Mar 21 Python
Python微信操控itchat的方法
May 31 Python
Python中如何引入第三方模块
May 27 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 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获取用户浏览器版本的方法
2015/01/03 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
对联广告js flash激活
2006/10/19 Javascript
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
学习python (1)
2006/10/31 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
20招让你的Python飞起来!
2016/09/27 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
Python 编程速成(推荐)
2019/04/15 Python
Python如何执行系统命令
2020/09/23 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
应聘护士自荐信
2013/10/21 职场文书
教师节横幅标语
2014/10/08 职场文书
会议邀请函
2015/01/30 职场文书
辞职书格式样本
2015/02/26 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
公司酒会致辞
2015/07/30 职场文书
经典爱情感言
2015/08/03 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
Golang jwt身份认证
2022/04/20 Golang