{% endmacro %}2..._flask jinja2">
赞
踩
flask内置模板语言,设计思路来自于django引擎
@app.route('/index',methods=['GET','POST']
def index():
str='python'
list1=[1,2,3]
return render_template('temp.html',str1=str1,list1=list1)#返回页面及页面jinja2所需数据
if __name__='__main__':
app.run(debug=True)
将所需的数据写进字典中,利用解包的方式传入参数,这样就不需要再写很长的返回参数了
@app.route('/index',methods=['GET','POST']
def index():
str='python'
list1=[1,2,3]
data={
'str1':str1,
'list1':list1
}
return render_template('temp.html',**data)
if __name__='__main__':
app.run(debug=True)
{{ … }}:装载一个变量,模板渲染的时候,会使用传进来的同名参数这个变量代表的值替换掉。
{% … %}:装载一个控制语句,每个控制语句末尾都需要对应的end控制语句,控制变量包在控制语句和end控制语句之间
{# … #}:装载一个注释,模板渲染的时候会忽视这中间的值。
{% if newlist %}
{{newlist}}
{{ elif list1}}
{{list1}}
{% else %}
{{list2}}
{% endif %}
判断是否有newlist列表,如果有则返回newlist列表,否则返回list1列表
{% for i in list1 %}<br>
{{i}}
{% endfor %}
用for循环输出list1中所有的元素
{{ 变量名|过滤器 }}
将变量表示的字符串字母全部变成大写字母
反转字符串
将变量中的字母全部变成小写
变量中的单词首字母大写
占位符填充,传入参数填入占位符
取消转义,让数据不受特殊字符转义
截断字符串,指定某个字符串显示部分
用于得到列表长度
用于取出列表首个元素
取出列表末尾元素
排序列表
列表中数字求和
def list_reverse (ls):
""" 自定义字符串反转 """
ls.reverse()
return ls
一个普通的处理数据的函数
app.add_template_filter(list_reverse,'asd')
第一个参数是过滤器函数,第二个参数是需要使用的名字
@app.template_filter('lsreverse')
def list_reverse (ls):
""" 自定义字符串反转 """
ls.reverse()
return ls
直接在装饰器里写使用名
用于提高代码复用率
最简单封装好的对象
使用macro定义
{% macro func1(label='',type='text',name='') %}
<label>{{label}}</label><input type="{{type}}" name="{{name}}">
{% endmacro %}
直接在定义页面下写入如下代码
<form>
{{func1('输入密码',type='password',name='pwd')}}
{{func1('输入用户名',name='username')}}
</form>
使用flask返回页面
{% import 'temp3.html' as func_form %}
<form>
{{func_form.func1('输入密码',type='password',name='pwd')}}
{{func_form.func1('输入用户名',name='username')}}
</form>
使用flask返回该页面,同样得到如下页面
类似于面向对象中的类
{%block top%}
这是第一个模块
{%endblock%}
{%block asd%}
这是内容
{%endblock%}
{%block footer%}
这是页脚
{%endblock%}
{% extends 'base.html' %}
base.html为编写的模板页面
在当前页面修改完直接继承原模板
{% block alter %}
修改后的内容
{{super()}}
{% endblock %}
直接将整个完整的页面加载到本页面
{% include 'index.html'}
如果找不到指定的页面,则忽略
{% include 'index.html' ignore missing %}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。