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%}之间的一切,看个例子: ...
随机推荐
- [BZOJ2095][Poi2010]Bridges 最大流(混合图欧拉回路)
2095: [Poi2010]Bridges Time Limit: 10 Sec Memory Limit: 259 MB Description YYD为了减肥,他来到了瘦海,这是一个巨大的海, ...
- Vue 中使用UEditor富文本编辑器-亲测可用-vue-ueditor-wrap
其中UEditor中也存在不少错误,再引用过程中. 但是UEditor相对还是比较好用的一个富文本编辑器. vue-ueditor-wrap说明 Vue + UEditor + v-model 双向绑 ...
- 《Linux内核设计与实现》学习总结 Chap18
一.准备开始 1.一个确定的bug,但大部分bug通常都不是行为可靠且定义明确的. 2.一个藏匿bug的内核版本. 3.相关内核代码的知识和运气. 二.内核中的bug 1.bug的表象: 明白无误的错 ...
- 使用telnet访问百度
这里主要是玩一下http协议,查看http的header. 1.输入命令telnet访问百度 # telnet www.baidu.com 80 Trying 220.181.112.244... C ...
- Kotlin入门简介
Kotlin的“简历” 来自于著名的IDE IntelliJ IDEA(Android Studio基于此开发) 软件开发公司 JetBrains(位于东欧捷克) 起源来自JetBrains的圣彼得堡 ...
- 解题:POI 2007 Tourist Attractions
题面 事实上这份代码在洛谷过不去,因为好像要用到一些压缩空间的技巧,我并不想(hui)写(捂脸) 先预处理$1$到$k+1$这些点之间相互的最短路和它们到终点的最短路,并记录下每个点能够转移到时的状态 ...
- 如何设置C++崩溃时生成Dump文件
Dump 文件是进程的内存镜像 , 可以把程序的执行状态通过调试器保存到dump文件中 ; Dump 文件是用来给驱动程序编写人员调试驱动程序用的 , 这种文件必须用专用工具软件打开 , 比如使用 W ...
- servlet解析
什么是Servlet2,Servlet有什么作用3,Servlet的生命周期4,Servlet怎么处理一个请求5,Servlet与JSP有什么区别6,Servlet里的cookie技术7,Servle ...
- openssl md5 sha256 rsa des
原文地址找不到了 #include <windows.h>#include <iostream>#include <cassert> #include <st ...
- 使用 Dojo 掌握面向对象开发
原文出处:Joe Lennon 从头开始学习 Dojo,第 2 部分 使用 Dojo 掌握面向对象开发 什么是面向对象开发? 面向对象编程(Object-Oriented Programming,OO ...