filter flask的用途和注意事项,flask filter
指尖生活
render_template方法从flash导入flash中渲染模板。render _ template的第一个参数是要渲染到当前页面的模板文件。默认情况下,它是从当前程序目录的templates文件夹中获得的。
在参数的后面,以平铺的方式放置所需的模板变量。就放过几个吧。
模板包含以双花括号{{ name }}的形式传入的变量名
模板. py
从烧瓶导入烧瓶,渲染模板
app=Flask(__name__)
@app.route(/index )
定义索引():
返回render_template(index.html ,name=baicai ,age=20 )
if __name__==__main__ :
app.run(debug=True)index.html
超文本标记语言
meta charset=utf-8
测试/标题
身体
p name={{ name }} /p
p age={{ age }} /p
/body
/html
同样,需要传递的参数和值可以写入字典并传入。
加个星,就是拆开这本字典的意思。
**
数据={
姓名:白菜,
年龄:20
}
Render _ template (index.html ,* * data)解包字典中的字典,前端作为字典返回,列表也是。
@app.route(/index )
定义索引():
数据={
姓名:白菜,
年龄:20,
my_dict:{ 城市:山东 },
我的列表:[1,2,3,4,5],
my_int:0
}
返回render_template(index.html ,* *数据)
如果想在字典中得到city对应的值,写在模板中就可以了。
my_dict={{ my_dict.city }}
或者
my_dict={{ my_dict[city] }}
列表也可以嵌套其他变量的值。
p _ dict={ { my _ dict . city } }/p p my _ list={ { my _ list[my _ int]} }/p最终返回页面的结果。
模板使用起来非常灵活,可以增加和减少。
如果花括号中的变量名传递了一个值,该值将返回到页面;如果没有,字符串将被返回到前端,前提是它用双引号括起来。
p my _ list[0]my _ list[1]={ { my _ list[0]my _ list[1]} }/p p { { hello DJ } }/p
模板从变量等中过滤值。
关闭安全模式并禁用escape。在Flask中,默认情况下Escape是打开的。
p {{ h3 123 /h3 safe }} /p
大写将变量值的第一个字母转换为大写,其余字母转换为小写。
将所有字符小写
所有字符都大写。
将标题值中每个单词的第一个字母大写
修剪第一个空格删除
Reverse反转字符串
Striptags在呈现之前删除值中的所有html标记。
可以组合使用。
例如:
p { { hello b python/b } trim safe upper }/p
列表过滤器首先接受第一个参数
取最后一个参数
获取列表长度
列表总和
排序列表排序
自定义过滤器因为某些要求,flask内置的过滤器无法满足我们的要求,所以需要自己编写过滤器。
两种方式
1.应用程序过滤器中添加了自己编写的函数。
创建一个过滤器,编写要过滤的操作,其实就是一个函数方法。
将过滤器添加到flask应用程序中,并为过滤器命名。
应用于模板文件
定义的函数应该带一个参数来表示接收到的变量的值,内置的时候就会接收到。
及格
App.add_template_filter(自定义方法,“过滤器名称”)
向烧瓶过滤器添加函数方法
例如,每隔两次获取列表中的值。
从烧瓶导入烧瓶,渲染模板
app=Flask(__name__)
@app.route(/index )
定义索引():
数据={
姓名:白菜,
年龄:20,
my_dict:{ 城市:山东 },
我的列表:[1,2,3,4,5],
my_int:0
}
返回render_template(index.html ,* *数据)
# 1,自定义过滤器
定义列表_步骤_2(li):
返回李[:2]
# 2.加入当前应用程序。
app . add _ template _ filter(list _ step _ 2, li2 )
if __name__==__main__ :
App.run(debug=True)2。使用装饰器
参数中是过滤器名称。
@app.temolate_filter(li3 )
#使用装饰器定制过滤器
@app.template_filter(li3 )
定义列表_步骤_3(李):
返回李[:3]
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。