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 20 Python
python中OrderedDict的使用方法详解
May 05 Python
Python中eval带来的潜在风险代码分析
Dec 11 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
Python多版本开发环境管理工具介绍
Jul 03 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
Python FFT合成波形的实例
Dec 04 Python
Python Scrapy多页数据爬取实现过程解析
Jun 12 Python
Python如何截图保存的三种方法(小结)
Sep 01 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
Feb 12 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
JS实现简单打字测试
2020/06/24 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
Python功能键的读取方法
2015/05/28 Python
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
python2.7实现邮件发送功能
2018/12/12 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
Delphi工程师笔试题
2013/09/21 面试题
继电保护工岗位职责
2014/01/05 职场文书
幼师求职自荐信范文
2014/01/26 职场文书
十佳青年个人事迹材料
2014/01/28 职场文书
办公室副主任职责范本
2014/03/08 职场文书
幼儿园六一儿童节活动方案
2014/08/26 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
2015年仓管员工作总结
2015/04/21 职场文书
女性励志书籍推荐
2019/08/19 职场文书
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA