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 : 以更简单的名称缓存复杂变量。

原文地址:https://www.cnblogs.com/weihengblog/p/9096430.html

时间: 2024-10-25 16:51:16

Django 内置模板标签和过滤器的相关文章

Django内建模版标签和过滤器

第四章列出了许多的常用内建模板标签和过滤器.然而,Django自带了更多的内建模板标签及过滤器.这章附录列出了截止到编写本书时,Django所包含的各个内建模板标签和过滤器,但是,新的标签是会被定期地加入的. 对于提供的标签和过滤器,最好的参考就是直接进入你的管理界面.Django的管理界面包含了一份针对当前站点的所有标签和过滤器的完整参考.想看到它的话,进入你的管理界面,单击右上角的Documentation(文档)链接. 内建文档中的“标签和过滤器”小节阐述了所有内建标签(事实上,本附录中的

Django内置模板标签

Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cycle 循环对象的值 debug 调试模式 extends 继承模版 filter 过滤功能 firstof 输出第一个不为False的参数 for 循环对象 for … empty 带empty说明的循环 if 条件判断 ifequal 如果等于 ifnotequal 如果不等于 ifchange

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

django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码布局 自定义标签和过滤器必须依赖于一个django app,也就是说,自定义标签和过滤器是绑定app的.该app应该包含一个templatetags目录,这个目录一个和model.py,views.py在同一个层级,记得在该目录下建立一个__init__.py文件一遍django知道这是一个pyth

Django1.3 模板标签和过滤器

内建标签 autoescape 控制HTML转义,参数是:on 或 off.效果和使用safe或escape过滤器相同. {% autoescape on %} {{ body }} {% endautoescape %} block 定义一个能被子模板覆盖的区块. comment 模板引擎会忽略掉 {% comment %} 和 {% endcomment %} 之间的所有内容 csrf_token 防止跨站请求伪造. <form action="." method="

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

1.创建一个模板库 使用模板过滤器的时候,直接把过滤器写在app里,例如:在app里新建一个templatetags的文件夹,这个目录应当和 models.py . views.py 等处于同一层次.例如: books/     __init__.py     models.py     templatetags/     views.py 在 templatetags 中创建两个空文件:一个 __init__.py (告诉Python这是一个包含了Python代码的包)和一个用来存放你自定义的

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

inclusion_tag() 在app中新建一个templatetags包(名字固定,不能变,只能是这个), 和views.py.models.py等文件处于同一级别目录下. 这是一个包!不要忘记创建__init__.py文件以使得该目录可以作为Python的包 1.首先,编写Python函数,templatetags/my_tags.py from django import template register = template.Library() register = Library(

自定义模板标签和过滤器

1.在settings的INSTALLED_APPS下配置app,否则找不到自定义的simple_tag 2.在app中创建名为tamplatetags的模块,注意:模块名只能是templatetags 3.在模块下创建任意.py文件,如my_tags.py from django import template from django.utils.safestring import mark_safe register = template.Library() #register的名字是固定的

django特殊的标签和过滤器

国际化标签和过滤器 Django还提供了一些模板标签和过滤器,用以控制模板中国际化的每个方面.它们允许对翻译,格式化和时区转换进行粒度控制. 1. i18n 此标签允许在模板中指定可翻译文本.要启用它,请将USE_I18N设置为True,然后加载{% load i18n %}. 2. l10n 此标签提供对模板的本地化控制,只需要使用{% load l10n %}.通常将USE_L10N设置为True,以便本地化默认处于活动状态. 3. tz 此标签对模板中的时区进行控制. 像l10n,只需要使

Django内置模版过滤器

Django内置过滤器总览 可以查询下表来总览Django的内置过滤器: 过滤器 说明 add 加法 addslashes 添加斜杠 capfirst 首字母大写 center 文本居中 cut 切除字符 date 日期格式化 default 设置默认值 default_if_none 为None设置默认值 dictsort 字典排序 dictsortreversed 字典反向排序 divisibleby 整除判断 escape 转义 escapejs 转义js代码 filesizeformat