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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
python实现判断数组是否包含指定元素的方法
Jul 15 Python
python生成圆形图片的方法
Mar 25 Python
对python自动生成接口测试的示例讲解
Nov 30 Python
python面试题小结附答案实例代码
Apr 11 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
解决pyqt5异常退出无提示信息的问题
Apr 08 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
python实现磁盘日志清理的示例
Nov 05 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
基于Python实现股票收益率分析
Apr 02 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数据流应用的一个简单实例
2012/09/14 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
2017/01/22 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
JS作用域链详解
2017/06/26 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
Python threading多线程编程实例
2014/09/18 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
python实现批处理文件
2020/07/28 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
2021/02/20 Python
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
2014年商场国庆节活动策划方案
2014/09/16 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
如何写辞职书
2015/02/26 职场文书
Python基础之元编程知识总结
2021/05/23 Python
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python