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配置文件解析模块ConfigParser使用实例
Apr 13 Python
Python实现的递归神经网络简单示例
Aug 11 Python
python3如何将docx转换成pdf文件
Mar 23 Python
python破解zip加密文件的方法
May 31 Python
Python模拟简单电梯调度算法示例
Aug 20 Python
python安装requests库的实例代码
Jun 25 Python
python读写csv文件的方法
Aug 13 Python
pycharm创建scrapy项目教程及遇到的坑解析
Aug 15 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 Python
解决pytorch 的state_dict()拷贝问题
Mar 03 Python
python 学习GCN图卷积神经网络
May 11 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数据库操作面向对象的优点
2006/10/09 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
浅析python的Lambda表达式
2019/02/27 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
利用python实现逐步回归
2020/02/24 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
英国在线药房:Express Chemist
2019/03/28 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
2014的自我评价
2014/01/13 职场文书
竞聘书怎么写,如何写?
2014/03/31 职场文书
车辆转让协议书
2014/04/15 职场文书
2015年教务工作总结
2015/05/23 职场文书
毕业实习单位意见
2015/06/04 职场文书
如何写新闻稿
2015/07/18 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS