Django模板系统-标签Tags
for
<ul>
{% for user in user_list %}
<li>{{ user.name }}</li>
{% endfor %}
</ul>
【参数】
Variable | Description |
---|---|
forloop.counter |
当前循环的索引值(从1开始) |
forloop.counter0 |
当前循环的索引值(从0开始) |
forloop.revcounter |
当前循环的倒序索引值(到1结束) |
forloop.revcounter0 |
当前循环的倒序索引值(到0结束) |
forloop.first |
当前循环是不是第一次循环(布尔值) |
forloop.last |
当前循环是不是最后一次循环(布尔值) |
forloop.parentloop |
本层循环的外层循环 |
for ... empty
如果for循环的参数-列表为空,将执行empty里面的内容
<ul>
{% for user in user_list %}
<li>{{ user.name }}</li>
{% empty %}
<li>空空如也</li>
{% endfor %}
</ul>
if,elif和else
{% if user_list %}
满足条件一:{{ user_list|length }}
{% elif black_list %}
满足条件而:{{ black_list|length }}
{% else %}
剩下的所有
{% endif %}
【注意】
支持 and or not,且and和or可以联用。但and的优先级高于or
if标签中不允许使用 () ,可以依靠嵌套if来实现
if标签中的条件判断语句有 == , != , > , < , >= , <= , in , not in , is , not is 。 is和not is是django1.10中的新特性。
不支持连续判断
if标签中可以使用过滤器
if标签衍生出了ifequal和ifnotequal,{% ifequal a b %} 等于 {% if a==b %}
ifchange
检查循环中的某个值在最近一次循环时是否改变。可以使用 else 标签。用法有两个:
它会把要渲染的内容与前一次作比较,发生变化时才显示它。
如果给的是一个或者多个变量,就会检查其中任一个变量是否发生改变。
with
定义一个中间变量,用更简单的变量名代替复杂的变量名
{% with total=business.employees.count %}
{{ total }} employee{{ total|pluralize }}
{% endwith %}
csrf_token
跨站请求伪造保护,可以在页面的form表单里面写上{% csrf_token %;django为用户实现防止跨站请求伪造的功能,在全局模式下通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成; 还可以使用局部方式进行限制:@csrf_protect,为当前函数强制设置防跨站请求伪造功能,即便settings中没有设置全局中间件;与之对应的@csrf_exempt,取消当前函数防跨站请求伪造功能,即便settings中设置了全局中间件。使用局部模式时需要导入from django.views.decorators.csrf import csrf_exempt,csrf_protect
原理
当用post提交数据的时候,django会去检查是否有一个csrf的随机字符串,如果没有就会报错,这也是之前我们一直将中间件注释的原因
给from表单添加{%csrf_token%}
<form action="" method="post">
{% csrf_token %}
<input type="text" name="name">
<button>提交</button>
</form>
执行后效果:
widthratio
计算给定值与最大值的比率,然后将该比率当作一个常量进行操作
模板
{% widthratio this_value max_value max_width as width %}
可以用来进行乘除运算
# 乘法
{% widthratio 5 1 100 %} # 5/1*100 = 500
# 除法
{% widthratio 6 2 1 %} # 6/2*1
Django模板系统-标签Tags的更多相关文章
- django模板系统基础
模板系统基础Django模板是一个string文本,它用来分离一个文档的展现和数据 模板定义了placeholder和表示多种逻辑的tags来规定文档如何展现 通常模板用来输出HTML,但是Djang ...
- Django 模板系统
Django模板系统 常用语法 {{}} 变量相关 {%%} 逻辑相关 变量 格式 {{ 变量名 }} 命名规则 包括任何字母数字以及下划线 ("_")的组合 变量名称中不能有空格 ...
- Python学习(二十八)—— Django模板系统
转载自http://www.cnblogs.com/liwenzhou/p/7931828.html Django模板系统 官方文档 一.常用语法 只需要记两种特殊符号: {{ }}和 {% %} ...
- Django模板系统(非常详细)(后台数据如何展示在前台)
前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的这会导致几个问题:1,显然,任何页面的改动会牵扯到Python代码的改动网站的设计改动会比Python代码改动更频 ...
- (转)Django学习之 第四章:Django模板系统
前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的 这会导致几个问题: 1.显然,任何页面的改动会牵扯到Python代码的改动 网站的设计改动会比Python代码改 ...
- python MVC、MTV 框架介绍 Django 模板系统常用语法
Django 框架简介一.MVC框架和MTV框架1.MVC 全名Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分.优势: 耦合性低 重用性高 生命 ...
- Django模板语言 标签整理
Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...
- django模板系统(上)
filters 过滤 default 替代作用 filesizeformat 格式化为人类可读 add 给变量加参数 lower 小写 upper 大写 title 标题 ljust 左对齐 rjus ...
- python终极篇 ---django 模板系统
模板系统 . MV ...
随机推荐
- 原来你是这样的 jsonp(原理与具体实现细节)
前言 原文地址 仓库地址 jsonp(JSON with padding)你一定不会陌生,前端向后端拿数据的方式之一,也是处理跨域请求的得利助手. 我们早已习惯,早已熟练了jQ或者zepto的ajax ...
- 使用Apache Curator管理ZooKeeper(转)
Apache ZooKeeper是为了帮助解决复杂问题的软件工具,它可以帮助用户从复杂的实现中解救出来. 然而,ZooKeeper只暴露了原语,这取决于用户如何使用这些原语来解决应用程序中的协调问题. ...
- hdu 5810 Balls and Boxes 二项分布
Balls and Boxes Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 阿里云ECS新增端口
由于本地开多台虚拟机玩集群,发现内存有点吃不消,好奇心的驱使下,买了一台阿里云玩玩,发现外面访问不了端口. 解决: 登陆阿里云网站,进入控制台,点击云服务器ECS 进入服务器控制台,点击要选择的服务器 ...
- 2019牛客暑期多校训练营(第三场)F 单调队列
题意 给一个\(n\times n\)的矩阵,找一个最大的子矩阵使其中最大值与最小值的差小于等于\(m\). 分析 枚举子矩阵的上下边界,同时记录每一列的最大值和最小值. 然后枚举右边界,同时用两个单 ...
- 关于在mac上使用valet集成环境添加memcache扩展
由于业务要求需要使用到memcache,直接使用brew安装在phpinfo上面显示并没有加载成功,使用以下方法时我们需要先卸载之前已经安装完成的memcache brew unlink php70- ...
- android 开发随手记
1.Fragment 跳转到Activity 修改数据,修改完后从Activity 返回(返回键)Fragment ,要求刷新Fragment界面的数据 解决办法: 在Fragment中注册一个监听广 ...
- 备忘录:“#ifdef __cplusplus extern "C" { #endif”的定义
看一些程序的时候老是有“#ifdef __cplusplusextern "C" {#endif”的定义,搞搞清楚是怎么回事: Microsoft-Specific Predefi ...
- C++ 编程风格指南
C++ Programming Style Guidelines 他人翻译中文版:click 让程序具有好的可读性 “避免日后 有人(或者自己)指着你的代码骂娘:这特么谁写的破烂 玩意”(来自:知乎- ...
- 转贴 使用正则表达式解析一般sql语句(C++)
https://blog.csdn.net/dreamgchuan/article/details/47715743 --END--2019年9月5日11点58分