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集合类型用法分析
Apr 08 Python
使用Python脚本操作MongoDB的教程
Apr 16 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
Apr 16 Python
Python类属性的延迟计算
Oct 22 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
Python中os模块功能与用法详解
Feb 26 Python
jupyter notebook清除输出方式
Apr 10 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
python 下划线的不同用法
Oct 24 Python
如何判断pytorch是否支持GPU加速
Jun 01 Python
Python+pyaudio实现音频控制示例详解
Jul 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
php简单实现快速排序的方法
2015/04/04 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
jquery tools之tooltip
2009/07/25 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
vue生成token并保存到本地存储中
2018/07/17 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
vue项目,代码提交至码云,iconfont的用法说明
2020/07/30 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
Python 如何实现访问者模式
2020/07/28 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
旅游管理本科生求职信
2013/10/14 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
通知怎么写?
2019/04/17 职场文书
2019同学聚会主持词
2019/05/06 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书