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中的__new__与__init__魔术方法理解笔记
Nov 08 Python
Python脚本实现12306火车票查询系统
Sep 30 Python
python实现聚类算法原理
Feb 12 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
python抓取网站的图片并下载到本地的方法
May 22 Python
Python操作mongodb的9个步骤
Jun 04 Python
python中scikit-learn机器代码实例
Aug 05 Python
python搜索包的路径的实现方法
Jul 19 Python
python中使用you-get库批量在线下载bilibili视频的教程
Mar 10 Python
tensorflow之读取jpg图像长和宽实例
Jun 18 Python
解决使用Pandas 读取超过65536行的Excel文件问题
Nov 10 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
vue实现简单loading进度条
2018/06/06 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
Djang中静态文件配置方法
2015/07/30 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
python如何导入依赖包
2020/07/13 Python
python的flask框架难学吗
2020/07/31 Python
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
学院书画协会部门职责
2013/11/28 职场文书
实习评语
2013/12/16 职场文书
建筑文秘专业个人求职信范文
2013/12/28 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
2014年个人售房协议书
2014/10/30 职场文书
城管个人总结
2015/02/28 职场文书
2015年教学工作总结
2015/04/02 职场文书
2016年感恩节寄语
2015/12/07 职场文书
公司转让协议书
2016/03/19 职场文书
合同范本之电脑出租
2019/08/13 职场文书