zoukankan      html  css  js  c++  java
  • 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 : 以更简单的名称缓存复杂变量。
  • 相关阅读:
    Linux基础优化(二)
    权限
    分页
    序列化
    forms
    redis
    Django缓存机制
    跨域问题
    Django的ORM
    模板层
  • 原文地址:https://www.cnblogs.com/weihengblog/p/9096430.html
Copyright © 2011-2022 走看看