关于Flask模板_过滤器的介绍和使用

Flask模板_过滤器

一.过滤器的介绍

过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过 滤器根据自己的功能,再返回相应的值,之后再将结果渲染到页面 中。
过滤器名解释举例
abs(value)返回一个数值的绝对 值1 | abs
int(value)将值转换为int类型
float(value)将值转换为float类型
string(value)将变量转换成字符串
default(value,default_value,boolean=false)如果当前变量没有 值,则会使用参数中 的值来代替。如果想 使用python的形式判 断是否为false,则可 以传递 boolean=true。也可 以使用or来替换name | default(‘默认值’)
safe(value)如果开启了全局转 义,那么safe过滤器 会将变量关掉转义content_html | safe
escape(value)或e转义字符,会将<、> 等符号转义成HTML 中的符号content | escape 或 e
first(value)返回一个序列的第一 个元素names | first
format(value,*arags,**kwargs)格式化字符串
last(value)返回一个序列的最后 一个元素。示例: names | last
length(value)返回一个序列或者字 典的长度。示例: names | length
join(value,d=‘+’)将一个序列用d这个 参数的值拼接成字符 串
lower(value)将字符串转换为小写
upper(value)将字符串转换为大写
replace(value,old,new)替换将old替换为new 的字符串
truncate(value,length=255,killwords=False)截取length长度的字 符串
striptags(value)删除字符串中所有的 HTML标签,如果出 现多个空格,将替换 成一个空格
trim截取字符串前面和后 面的空白字符
wordcount(s)计算一个长字符串中 单词的个数

二.实例

html源码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>过滤器的使用</title>
</head>
<body>
    
    <h2>整型过滤器在过滤前的数值:{{ num }}</h2>
    <h2>整型过滤器在过滤后的数值:{{ num | int }}</h2>
    <p>默认过滤器在过滤前的用户名:{{ name }}</p>
    <p>默认过滤器在过滤后的用户名:{{ name  | default('00-xx',boolean=true) }}</p>
    <br>

    <!-- 转义过滤器 -->
    <h3>模板中默认是全局转义的,转义内容是:{{ info }}</h3>
    <h3>用过滤器关闭转义后的内容: {{ info | safe }}</h3>
    <h3>用过滤器开启转义后的内容: {{ info | escape }}</h3>
    {% autoescape true%}       <!-- true为开启转义,false为不开启转义-->>
    {{ info }}
    {% endautoescape %}
    <br>
    <br>
    <br>

    <!-- 其他过滤器 -->
    绝对值过滤器:-6--> {{ -6 | abs }} <br>
    浮点过滤器:6--> {{ 6 | float }}   <br>
    字符串过滤器:123--> {{ 123 | string }}  <br>
    格式化过滤器:   {{ '%s---%s' | format('hello~','你好哇~') }}    <br>
    字符串长度过滤器: {{ 'aaaa' | length }} <br>
    返回第一个字符过滤器:   {{'abcd' | first}}  <br>
    返回最后一个字符过滤器: {{'abcd' | last}}   <br>
    记录词数量过滤器:   {{'aa bb cc' | wordcount}}  <br>
    替换过滤器: {{'哈哈 呵呵' | replace('哈哈 呵呵','嘿嘿嘿')}} <br>

</body>
</html>
python源码:
#coding=utf-8

from flask import Flask,render_template

app = Flask(__name__,template_folder='htmls')

@app.route('/')
def show():
    info = '<p>哈哈哈</p>'
    return render_template('过滤器.html',name='',num=88.8,info=info)

if __name__ == '__main__':
    app.run(debug=True)

在这里插入图片描述

注:
如果觉得笔记有些问题,麻烦在百忙之中在评论中指正,或提出建议!另外,如果觉得这份笔记对你有所帮助,麻烦动动发财的小手手点一波赞!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值