一、内置模板标签

语法:{%  %}

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 内置模板标签和过滤器的更多相关文章

  1. python3之Django内置模板标签和过滤器

    一.模板标签 内置标签: 1.autoescape 控制当前的自动转义行为,此标记采用on或者off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束标签关闭. views: ...

  2. Django内建模版标签和过滤器

    第四章列出了许多的常用内建模板标签和过滤器.然而,Django自带了更多的内建模板标签及过滤器.这章附录列出了截止到编写本书时,Django所包含的各个内建模板标签和过滤器,但是,新的标签是会被定期地 ...

  3. Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  4. 第三章:模版层 - 2:Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  5. django “如何”系列4:如何编写自定义模板标签和过滤器

    django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码 ...

  6. 模板继承and自定义模板标签和过滤器

    自定义模板标签和 过滤器: 因为模板标签和过滤器只给我们提供了 这么多 无法对我们的使用造成更多的便利 ,剩下的就需要我们自己去创建新的 模板标签和过滤器了 1.在settings中的INSTALLE ...

  7. Django自定义模板标签和过滤器

    1.创建模板库 在某个APP所在目录下新建包templatetags,然后在其中创建存储标签或者过滤器的的模块,名称随意,例如myfilters.py. 在这个模块中编写相关代码. 注意:templa ...

  8. Django 自定义模板标签和过滤器

    1.创建一个模板库 使用模板过滤器的时候,直接把过滤器写在app里,例如:在app里新建一个templatetags的文件夹,这个目录应当和 models.py . views.py 等处于同一层次. ...

  9. The Definitive Guide To Django 2 学习笔记(八) 第四章 模板 (四)基本的模板标签和过滤器

    标签 下面的部分概述了常见的Django标签. if/else {%if%} 标签 对一个变量值进行测试,如果结果为true,系统将会显示在{%if%} 和 {%endif%}之间的一切,看个例子: ...

随机推荐

  1. Webpack + React 开发 02 JSX 语法

    HTML 语言直接写在 JavaScript 语言之中,不加任何引号,这就是 JSX 的语法,它允许 HTML 与 JavaScript 的混写: render(<h1>Hello Wor ...

  2. 在mvc中 怎么给@Html.HiddenFor()赋值

    @Html.HiddenFor(model => model.CreatedBy, new { @value=currentInfo.UserID}) value始终是null@Html.Tex ...

  3. Linux可执行文件后缀问题

    一般来说,可执行文件没有扩展名. Linux不根据扩展名判断文件类型,而是根据文件的内容来判断.所以扩展名的作用是帮助人来识别文件,对于Linux系统本身来说没有什么用处. .sh结尾表示是shell ...

  4. 六、java异常处理

    目录 一.异常的概念 二.异常的分类 三.异常的捕获和处理 四.使用自定义异常 一.异常的概念 java异常是指java提供的用于处理程序运行过程中错误的一种机制 所谓错误是指在程序运行的过程中发生的 ...

  5. 在Ubuntu16.04上安装virtualbox后无法装载vboxdrv模块

    首先按照:http://blog.csdn.net/ipsecvpn/article/details/52175279 这个网址上的教程安装, 安装完成后报错:大体意思就是vboxdrv没有被内核装载 ...

  6. python中的zip

    >>> a = zip([1,2,3],[34,35,36]) >>> print(a) <zip object at 0x0394D0F8> > ...

  7. day10 浅谈面向对象编程

    面向对象编程:第一步找名词,名词是问题域中的. 第二步概括名词设计成类.某些名词可以浓缩包含到其它名词中,成为其属性. 第三步找动词,动词也是问题域中的.   第四步概括动词设计成方法.动作的产生往往 ...

  8. 科学计算三维可视化---TVTK入门(创建和显示三维对象)

    一:创建一个基本的三维对象 (一)长方体操作 traits:就是TVTK对象的属性 (1)对象属性操作 >>> from tvtk.api import tvtk >>& ...

  9. linux ln链接详解

    1.序 Linux具有为一个文件起多个名字的功能,称为链接.被链接的文件可以存放在相同的目录下,但是必须有不同的文件名,而不用在硬盘上为同样的数据重复备份.另外,被链接的文件也可以有相同的文件名,但是 ...

  10. JavaScript 延时与定时

    一.定时(setInterval) var i = 0; function hello(){ console.log(i++); } setInterval(hello,1000); // 每一秒执行 ...