filter flask的用途和注意事项,flask filter

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: