Django 内置模板标签和过滤器
一、内置模板标签
语法:{% %}
autoescape :
是否转义,on或off作为参数,并确定自动转义是否在块内有效。该块以endautoescape结束
{% autoescape on %}
{{ body }}
{% endautoescape %} block : 定义 可以被子模块覆盖的块,具体的参阅Django模板与继承
comment :
忽略comment之间的所有内容
查看网页源码也不会存在 csrf_token :
此标记用于csrf保护,具体的参阅Django跨站请求伪造
用于form表单提交数据的时候
cycle : debug :输出整个调试信息,包括当前上下文和导入的模块。
extends :表示该模板扩展了父模板。
filter:
通过一个或多个过滤器过滤块的内容
可以通过管道指定多个过滤器
并且过滤器可以具有参数 firstof:
如果输出的不是第一个变量,值将为False。
{% firstof var1 var2 var3 %}
这相当于: {% if var1 %}
{{ var1 }}
{% elif var2 %}
{{ var2 }}
{% elif var3 %}
{{ var3 }}
{% endif %}
for:
循环容器中每个项,使每一项都能在上下文变量中可用
可以反向迭代
forloop.counter 循环的当前迭代
for ... empty :
如果给定的容器为空或无法找到,则for标签可以接受一个可选的子句
<ul>
{% for athlete in athlete_list %}
<li>{{ athlete.name }}</li>
{% empty %}
<li>Sorry, no athletes in this list.</li>
{% endfor %}
</ul>
if :
所述标签计算一个变量,并且如果该变量的值使“真”的数据块的内容被输出
ifequal 和 ifnotequal : 过时的标签 ifchanged:检查一个值是否从循环的最后一次迭代中改变了。
include :
加载模板并使用当前上下文进行渲染。这是在模板中“包含”其他模板的一种方式。
{% include "foo/bar.html" %}
{% include template_name %}
load:加载自定义模板标记集。 lorem : 随机显示“lorem ipsum”拉丁文字。这对于在模板中提供示例数据很有用。
now : 显示当前日期和/或时间,使用根据给定字符串的格式。
regroup : 用一个共同的属性重新组合一个类似对象的列表。
resetcycle :
spaceless : 删除HTML标签之间的空白。这包括制表符和换行符。
templatetag : 输出用于组成模板标签的语法字符之一。
url : 返回与给定视图和可选参数匹配的绝对路径引用(没有域名的URL) path('client/<int:id>/', app_views.client, name='app-views-client')
传参 : {% url 'app-views-client' v1 v2 %}
传参 : {% url 'app-views-client' arg1=v1 arg2=v2 %}
verbatim : 停止模板引擎渲染此块标记的内容。
widthratio : 为了创建条形图等,该标签计算给定值与最大值的比率,然后将该比率应用于常数。
with : 以更简单的名称缓存复杂变量。
Django 内置模板标签和过滤器的更多相关文章
- python3之Django内置模板标签和过滤器
一.模板标签 内置标签: 1.autoescape 控制当前的自动转义行为,此标记采用on或者off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束标签关闭. views: ...
- Django内建模版标签和过滤器
第四章列出了许多的常用内建模板标签和过滤器.然而,Django自带了更多的内建模板标签及过滤器.这章附录列出了截止到编写本书时,Django所包含的各个内建模板标签和过滤器,但是,新的标签是会被定期地 ...
- Django内置模板标签
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...
- 第三章:模版层 - 2:Django内置模板标签
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...
- django “如何”系列4:如何编写自定义模板标签和过滤器
django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码 ...
- 模板继承and自定义模板标签和过滤器
自定义模板标签和 过滤器: 因为模板标签和过滤器只给我们提供了 这么多 无法对我们的使用造成更多的便利 ,剩下的就需要我们自己去创建新的 模板标签和过滤器了 1.在settings中的INSTALLE ...
- Django自定义模板标签和过滤器
1.创建模板库 在某个APP所在目录下新建包templatetags,然后在其中创建存储标签或者过滤器的的模块,名称随意,例如myfilters.py. 在这个模块中编写相关代码. 注意:templa ...
- Django 自定义模板标签和过滤器
1.创建一个模板库 使用模板过滤器的时候,直接把过滤器写在app里,例如:在app里新建一个templatetags的文件夹,这个目录应当和 models.py . views.py 等处于同一层次. ...
- The Definitive Guide To Django 2 学习笔记(八) 第四章 模板 (四)基本的模板标签和过滤器
标签 下面的部分概述了常见的Django标签. if/else {%if%} 标签 对一个变量值进行测试,如果结果为true,系统将会显示在{%if%} 和 {%endif%}之间的一切,看个例子: ...
随机推荐
- 【刷题】BZOJ 4825 [Hnoi2017]单旋
Description H 国是一个热爱写代码的国家,那里的人们很小去学校学习写各种各样的数据结构.伸展树(splay)是一种数据结构,因为代码好写,功能多,效率高,掌握这种数据结构成为了 H 国的必 ...
- 安装GourdScanV2的踩坑过程
环境:ubuntu 16.04.1 1.安装dcoker sudo apt-get install docker.io 坑:sudo apt-get install docker 2.下载关于dock ...
- 封装个StringBuffer,用array join的方式拼接字符串
(function(window) { var core_ArrPro = Array.prototype; var core_slice = core_ArrPro.slice; var core_ ...
- Java-异常机制详解以及开发时异常设计的原则要求
Java-异常机制详解以及开发时异常设计的原则要求 http://blog.csdn.net/Jack__Frost/article/details/52760930?locationNum=6
- opencv 应用程序无法正常启动(0xooooo7b)
#include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui ...
- jq获取兄弟节点
$('#id').siblings() 当前元素所有的兄弟节点$('#id').prev() 当前元素前一个兄弟节点$('#id').prevaAll() 当前元素之前所有的兄弟节点$('#id'). ...
- mysql 统计 group by 之后的 group 的个数
如果将 count(*) 和 group by 一起使用,count(*) 统计的将会是每个 group 里面的行数,而不是 group 的个数. 如果你想统计 group 的个数,需要将 group ...
- HDU 6231
K-th Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Tot ...
- kubernetes 1.9部署实践
目录 简要说明 环境说明 安装前的约定 配置etcd 生成相关证书 证书类型说明 cfssl配置 证书相关配置 生成ca证书 生成kubernetes证书 生成kubectl证书 生成kube-pro ...
- 逻辑回归原理_挑战者飞船事故和乳腺癌案例_Python和R_信用评分卡(AAA推荐)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...