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运行其他程序的实现方法
Jul 14 Python
读取本地json文件,解析json(实例讲解)
Dec 06 Python
python如何通过实例方法名字调用方法
Mar 21 Python
使用python存储网页上的图片实例
May 22 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
详解numpy的argmax的具体使用
May 27 Python
python随机模块random的22种函数(小结)
May 15 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
python 基于opencv 实现一个鼠标绘图小程序
Dec 11 Python
Python基础知识学习之类的继承
May 31 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 可阅读随机字符串代码
2010/05/26 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
jQuery 动态酷效果实现总结
2009/12/27 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
React服务端渲染(总结)
2017/07/01 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
python生成IP段的方法
2015/07/07 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
python set内置函数的具体使用
2019/07/02 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
Python requests接口测试实现代码
2020/09/08 Python
法国春天百货官网:Printemps.com
2020/06/29 全球购物
大学生职业生涯规划范文
2013/12/31 职场文书
亲子读书活动方案
2014/02/22 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
交通安全教育心得体会
2016/01/15 职场文书
python编程项目中线上问题排查与解决
2021/11/01 Python