最近自己研究了一下,把常用的模块整理如下
1.变量
1、变量的格式为:{{}},当模板引擎遇到变量时,会用变量的值来替换该变量。
2. 使用点(.)访问变量的属性
3. 当模板引擎遇到点时,搜索顺序是怎样的?
a. 字典查找,例如:foo["var1"]
b. 属性查找,例如:foo.bar
c. 方法查找,例如:foo.bar()
d.list-index搜索,例如foo[bar]
注意:方法查找比普通查找更复杂
(1)如果方法调用过程中,抛出了异常,那么就会产生异常,除非异常对象具有属性ure。
如果该值为 True,则将返回一个空字符串。
(2)方法调用只对不带参数的方法有效。
(3)有些方法有副作用,系统允许方法设置一个属性,如果值为 True,则该方法不能被调用。
设置方法为:
def(自我):
#函数内容
. = 真
4.如果模板中使用的变量不存在,模板系统会使用.py中该变量的值来替换,默认情况下,变量的值为“”。
2. 过滤器
1.可以通过过滤器修改变量的显示,过滤器的形式为:{{ | }},管道符号‘|’代表使用过滤器
2.过滤器可以以链式方式使用,例如:{{ text | | }}
3. 过滤器也可以带参数,例如:{{ bio|:30 }}
4.如果过滤参数中有空格,需要用引号括起来,例如:{{ list | join : ", "}}
5. 30个内置滤镜
(1)添加
使用格式为:{{ value | add: "2"}}
含义:将 value 的值增加 2
(2)
使用格式为:{{ value | }}
含义:在值中的引号前添加反斜杠
(3)
使用格式为:{{ value | }}
含义:value的第一个字符转换为大写
(4)切割
使用格式为:{{ value | cut:arg}},例如,如果 value 为 " 且 arg 为 " " 则输出为 ""
含义:从给定值中删除所有arg值
(5)日期
使用形式为:
(a){{ value | date:”D d MY” }},例如,如果 value 是一个对象(..now()),那么输出将是字符串“Wed 09 Jan 2008”
(b){{value|date}}。此形式没有格式字符串。在这种情况下,格式字符串将自动采用设置的格式。
含义:按照给定的格式输出日期格式的数据
(6)
使用格式:{{ value | : "" }},例如,如果 value 是 "",则输出将是
含义:如果value的含义是False,则输出使用默认值
(7)
使用格式:{{ value | :"" }}。例如,如果 value 为 None,则输出为
含义:如果值为 None,则输出将使用默认值
(8)
含义:如果值是字典,则返回值是按照关键字排序的结果。
使用格式:{{ value | :"name"}},例如,
如果值为:
{'name': 'zed', 'age': 19},
{'姓名':'amy','年龄':22},
{'姓名':'joe','年龄':31},
然后,输出是:
{'姓名':'amy','年龄':22},
{'姓名':'joe','年龄':31},
{'name': 'zed', 'age': 19},
(9)
含义:如果值是字典,则返回值是按照关键字排序后的结果倒序。
用法:与上面(8)完全相同。
(10)
使用格式:{{ value | :arg}},如果 value 为 21 且 arg 为 3,则输出为 True
含义:如果 value 可以被 arg 整除,则返回值将为 True
(11)
使用格式:{{ value | }}
含义:替换value中的某些字符以适应HTML格式,包括:
< is converted to <
> is converted to >
' (single quote) is converted to '
" (double quote) is converted to "
& is converted to &
escape仅仅在输出的时候才起作用,所以escape不能够用在链式过滤器的中间,
它应该始终是最后一个过滤器。如果你想在过滤器链中间使用它,你可以使用
(12)
使用格式:{{ value | }}
含义:替换值中的某些字符以适应JSON格式。
(13)
使用格式:{{ value | }}
含义:格式化值,使其成为人类可读的文件大小,例如:13KB、4.1MB等。
(14)第一
使用格式:{{ value | first }}
含义:返回列表中的第一个项目。例如,如果 value 是列表 ['a', 'b', 'c'],则输出将为 'a'。
(15)
使用格式:{{ value | }} 或 {{value|:arg}},
arg 可以是正数或负数。没有参数相当于:-1
(1)如果没有提供 arg,引擎将把值四舍五入到最接近的小数位。
34.23234 {{值|}} 34.2
34.00000 {{ 值| }} 34
34.26000 {{值|}} 34.3
(2)如果 arg 是正数,引擎将对其进行四舍五入,同时保留 arg 中的小数位。
34.23234 {{值|:3}} 34.232
34.00000 {{ 值|:3 }} 34.000
34.26000 {{值|:3}} 34.260
(3)如果arg为负数,引擎会将其向上舍入,如果有小数部分,则保留arg的小数位,否则没有小数部分。
34.23234 {{值|:“-3”}} 34.232
34.00000 {{ 值|:”-3” }} 34
34.26000 {{值|:“-3”}} 34.26
(16)
使用形式:{{ value | :"arg"}},例如,如果 value 为 且 arg 为 2,则输出为 8
含义:给定一个数字,返回所请求的数字。请记住:1 代表最右边的数字。如果值不是有效输入,
然后将返回所有现有的值。
(17)
使用格式:{{value | }}
含义:如果 value 中有非 ASCII 字符,则将其转换为适合 URL 的编码。如果 value 已经转换,
更改操作将不再有效。
(18)加入
使用格式:{{ value | join:"arg"}},如果value为['a','b','c'],arg为'//'则输出为a//b//c
含义:使用指定的字符串连接一个列表,与str.join(list)相同
(19)最后
使用格式:{{ value | last }}
含义:返回列表中的最后一项
(20)
使用格式:{{ value | }}
含义:返回值的长度。
(21)
使用格式:{{ value | :"arg"}}
含义:如果 value 的长度等于 arg,则返回 True。例如,如果 value 为 ['a', 'b', 'c'] 且 arg 为 3,则返回 True。
(22)
使用格式:{{value|}}
含义:值中的“\n”将是
替换,整个值使用
将其括起来以适合 HTML 格式
(23)
使用格式:{{value |}}
含义:值中的“\n”将是
选择
(24)
使用格式:{{value | }}
含义:显示带行号的文本。
(25)公正
使用格式:{{value| 只是}}
含义:在给定宽度的字段中,将值左对齐。
(25)
使用格式:{{value | }}
含义:在给定宽度的字段中,居中对齐显示值
(25)公正
使用格式:{{value | rjust}}
含义:在给定宽度的字段中,右对齐值
(26)较低
使用格式:{{value | lower}}
含义:将字符串转换为小写
(27)
使用格式:{{value | }}
含义:将值转换为列表。对于字符串,将其转换为字符列表;对于整数,将其转换为整数列表。
例如,如果值为 Joel,则输出为 [u'J',u'o',u'e',u'l'];如果值为 123,则输出为 [1,2,3]
(28)
使用格式:{{value | }},或 {{value | :"es"}},或 {{value | :"y,ies"}}
含义:如果value不为1,则返回复数后缀,默认后缀为's'
(29)
使用格式:{{value | }}
含义:从给定的列表中返回任意一个项目
(30)
使用格式:{{value | :”tag1 tag2 tag3…”}}
含义:删除 value 中的标签 tag1、tag2 等。例如,如果 value 是 Joel is a slug
tags 是“b span”,则输出将是:Joel is a slug
(31)安全
使用格式:{{value | safe}}
含义:当系统设置打开时,此过滤器导致输出不被转换
(32)
它和上面的safe基本相同,但是有一点区别:safe是针对字符串的,而不是针对多个字符串的。
(33)切片
使用格式:{{ |slice:”:2”}}
含义:语法上与切片相同,:2 表示第一个切片的第二个元素
(34)
使用格式:{{value | }}
含义:将值转换为小写,删除所有分词符,并将空格转换为破折号
例如:如果值为 Joel is a slug,则输出将为 joel-is-a-slug
(35)
这个不常用,先不说了
(36)
使用格式:{{value | }}
含义:删除值中的所有HTML标签
(37)时间
使用格式:{{value | time:”H:i”}} 或 {{value | time}}
含义:格式化时间输出,如果time后面没有参数,则按照中的设置进行输出。
(38)标题
将字符串转换为标题格式。
(39)
使用格式:{{value | :2}}
含义:将值剪切成指定的字数
例如,如果值为 Joel is a slug,则输出为:Joel is ...
(40)
与(39)用法相同
含义:如果标签页在点击前已打开但没有关闭,则点击后将立即关闭。
由于此操作效率较低,因此仅当值为HTML格式时才会考虑。
(41)上
将字符串转换为大写
(42)
转换字符串
(43)
含义:将字符串中的URL转换为可点击的形式。
使用格式:{{ value | }}
例如,如果值为 Check out,则输出将是:
查看
(44)
使用格式:{{ value | :15}}
含义:与(43)相同,但有一个区别:显示的链接字符串将缩短到特定长度,然后是...
(45)
返回字符串中的单词数
(46)
使用格式:{{value | :5}}
含义:按照指定的长度对字符串进行换行
例如,如果值为 Joel is a slug,则输出将是:
乔尔
是
蛞蝓
(47)
使用格式:{{value | :arg}}
含义:返回参数arg到value之间的天数和小时数
扫一扫在手机端查看
-
Tags : %tag% = argvalue1
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。