python jinja2教程,jinja2.exceptions
jinjia2模板可以保存在任何基于文本的文件中,如XML、HTML、CSV等。它由普通内容、变量、表达式、标记和注释组成,可以通过render_template函数呈现。
构成:
普通内容:不加解释的渲染。
头
标题
身体
里
变量:渲染过程中替换的内容。
{{ .}}
表达式:算术和逻辑运算表达式。
{% %}
标签:渲染期间的逻辑控制
注意:渲染时删除。
{#评论#}
过滤器:
Filter是一种转换变量输出内容的技术,比如把字符串变量转换成大写,去掉特殊字符。
可以链式调用多个过滤器,类似于linux命令行的流水线,前面的输出作为后面的输入。
灵活使用滤镜可以极大地丰富模板的转换功能。
abs(数字)
atrr(对象,名称)
大写字母
中心(值,宽度=80)
默认值(value,default_value=u ,boolean=False)
dictsort(value,区分大小写=False,by=key )
转义(字符串)
filesizeformat(value,binary=False)
First(sequence)返回序列的第一个元素
float(值,默认值=0.0)
forceescape(值)
Format(value,*attribute)字符串格式化函数,value是格式定义,attribute是变长参数接受占位符表示的值。
{{ %s-%sformat(hello , jack)}}
你好杰克
Group (value,attribute)根据指定的公共属性对集合进行分组,并返回元组列表。
保险商实验所
{ % for group in perons group by( gender )% }
li {{ group.grouper }} ul
{% for person in group.list %}
Li { { person . first _ name } } { { person . last _ name } }/Li
{% endfor %} /ul /li
{% endfor %}
/ul
Indent (string,width=4,indentfirst=false)用于定义缩进。
int(值,默认值=0)
join(值,d=u )
{{ [1,2,3]join() }}
{{ [1,2,3]加入}}
Last(seq)返回指定序列的最后一个元素
长度(obj)对象通常是一个序列或字典。
List(value)将接受的值转换为列表
较低(值)
pprint(值,详细=假)
Random(seq)返回seq中的元素。
Replace (string,old,new,count=none)替换字符,count指定替换次数。
Reverse(value)接受迭代对象,并以相反的顺序输出。
Round (value,precision=0,method= common )舍入运算,precision指定精度,method可以是common/ceil/floor舍入、进位和舍入。
Safe(value)将value标记为安全,用escape转码时不会转码两次。
Slice(值,切片,fill _ width=无)切片
排序(value,reverse=False,case_sensitive=False,attribute=None)
升序,不区分大小写,按属性排序(一个属性(值)
字符串(对象)
Striptags(value)移除SGML和XML标记
sum(iterable,attribute=None,start=0)
对迭代变量或迭代变量的属性求和。
标题将转换为标题的显示形式
Trim(value)从字符串的前端和后端删除空格。
truncate(s,length=255,killwords=False,end= . )
将字符转换为缩写形式
鞋帮
Word (s)计算字符串中的字数。
wordwrap(s,width=79,break_long_words=True,wrapstring=None)
根据参数中的值将字符串分成几行。
过程控制
测试:
allable(对象)
已定义(值)
divisibleby(值,数字)
转义(值)
偶数(值)
可迭代的(值)
较低(值)
无(值)
数字(值)
奇数(值)
Sameas(value,other)用于判断value和other是否在同一个内存中(属于同一个对象)。
Sequence(value)检查对象是否是序列。
字符串(值)
未定义(值)
上部()
例如:
{% if loop.index可被(3)整除%}
判决声明:
{% if xx %}
{% elif %}
{% else %}
{% endif %}
循环语句
用户中用户的{%是%}
循环索引
循环.索引0
loop.revindex
loop.revindex0
循环优先
loop.last
循环长度
在一系列序列之间取值的辅助函数。
模板继承:
模板至少应包含以下内容:
必须包括在内
超文本标记语言
头
身体
通常需要包括什么
标题声明页面标题
元标签标识的页面显示模式
链接标签介绍了所需的css文件。
脚本标签引入脚本文件javascript
页眉更改显示的页眉。
{% block content %}{% endblock %}用于引用子模块。
底板
{% extend " base.html" %}
{% block xxx %} xxx不能在模板中重复。
xxx
{% endblock %}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。