• Django进阶Template篇001


    一、模板的组成

    HTML代码+逻辑控制代码

    二、逻辑控制代码的组成

    1.变量(使用双大括号来引用变量)

    {{ var_name }}

    2.标签(tag)的使用(使用大括号和百分号的组成来表示使用tag)

    {% load staticfiles %}

    3.过滤器(filter)的使用

    {{ ship_date|date:"F j,Y" }},ship_date变量传给date过滤器,date过滤器通过使用"F j,Y"这几个参数来格式化日期数据。 "|"代表类似Unix命令中的管道操作。

    三、常用标签(tag)

    1.{% if %} 的使用

    可以使用and,or,not来组织逻辑,新版本中已经支持 {% elif %}

    2.{% ifequal %} 和 {% ifnotequal %} 的使用

    比较是否相等,只限于简单的类型,如字符串,整数,小数的比较,列表,字典,元组不支持

    3.{% for %} 的使用

    循环一个列表。可以使用empty关键字来进行为空时处理;可以使用resersed关键字来倒序遍历;

    for标签中,可以使用forloop

    {{ forloop.counter }}: 当前循环计数,从1开始

    {{ forloop.counter0 }}:当前循环计数,从0开始,标准索引方式

    {{ forloop.revcounter }}:当前循环的倒数计数,从列表长度开始

    {{ forloop.revcounter0 }}:当前循环的倒数计数,从列表长度减1开始,标准索引方式

    {{ forloop.first }}:布尔值,判断是不是循环的第一个元素

    {{ forloop.last}}:布尔值,判断是不是循环的最后一个元素

    4.{% cycle %}

    在循环时轮流使用给定的字符串列表中的值。

    5.{# #} 单行注释,{% comment %} 多行注释

    6.{% csrf_token %}

    生成csrf_token的标签,用于防止跨站攻击验证

    7.{% debug %}

    调用调试信息

    8.{% filter %}

    将filter标签圈定的内容执行过滤器操作

    9.{% autoescape %}

    自动转义设置

    10.{% firstof %}

    输出第一个值不等于False的变量

    11.{% load %}

    加载标签库

    12.{% now %}

    获得当前时间

    13.{% spaceless %}

    移除空格

    14.{% url %}

    引入路由配置的name的地址

    15.{% verbatim %}

    禁止render

    16.{% with %}

    用更简单的变量名缓存复杂的变量名

    ...

    更多详见:https://docs.djangoproject.com/en/1.10/ref/templates/builtins/

    四、常用过滤器(filter)

     1.add

    给变量加上相应的值

    2.addslashes

    给变量中的引号前加上斜线

    3.capfirst

    首字母大写

    4.cut

    从字符串中移除指定的字符

    5.date

    格式化日期字符串

    {{ value|date:"D d M Y" }}

    If value is a datetime object (e.g., the result of datetime.datetime.now()), the output will be the string 'Wed 09 Jan2008'.

    6.default

    如果值是False,就替换成设置的默认值,否则就使用本来的值

    7.default_if_none

    如歌值为None,就替换成设置的默认值,否则就使用本来的值

    8.dictsort

    按照设定参数(key)对应的value对列表进行排序

    9.dictsortreversed

    和上面恰好相反

    10.divisibleby

    是否能够被某个数字整除,是的话返回True,否则返回False

    11.escape

    对字符串进行转义

    12.escapejs

    替换value中的某些字符,以适应JAVASCRIPT和JSON格式

    13.filesizeformat

    格式化文件大小显示

    14.first

    返回列表中的第一个值

    15.last

    返回列表中的最后一个值

    16.floatformat

    格式化浮点数

    17.length

    求字符串或者列表长度

    18.length_js

    比较字符串或者列表的长度

    19.urlencode

    对URL进行编码处理

    20.upperlower

    大写小写

    21.safe

    对某个变量关闭自动转义

    22.slice

    切片操作

    {{ some_list|slice:":2" }}

    If some_list is ['a', 'b', 'c'], the output will be ['a', 'b'].

    23.time

    格式化时间

    {{ value|time:"H:i" }}

    24.timesince

    格式化时间

    25.truncatechars

    按照字符截取字符串

    {{ value|truncatechars:9 }}

    If value is "Joel is slug", the output will be "Joel i...".

    26.truncatewords

    按照单词截取字符串

    27.striptags

    过滤掉html标签

    {{ value|striptags }}

    If value is "<b>Joel</b> <button>is</button> <span>slug</span>", the output will be "Joel is slug".

    标签和过滤器,更多详见:https://docs.djangoproject.com/en/1.10/ref/templates/builtins/


    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
  • 相关阅读:
    记一次逻辑代码的实现(数组内数据按照指定时间差进行分组)
    spark算子之Aggregate
    java.lang.SecurityException: class "javax.servlet.ServletRegistration"'s signer information does not match signer information of other classes in the same package
    Hive SQL之分区表与分桶表
    hive之基本架构
    数据结构-链表(2)
    jQuery 如何实现 模糊搜索
    常见的网站服务器架构
    window.location.href跳转无效
    js读取本地图片并显示
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/6491905.html
Copyright © 2020-2023  润新知