(六)Jinja2模板——过滤器的使用

书读的越多而不加思考,你就会觉得你知道得很多;而当你读书而思考得越多的时候,你就会越清楚地看到,你知道得很少。

导读:本篇文章讲解 (六)Jinja2模板——过滤器的使用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、用管道符号表示过滤器( | )

以length过滤器为例:

        username=”知网”
        {{ user.username | length }}

        返回:2

length过滤器是jinja2模板中常用内置过滤器之一,length表示返回变量的长度

二、自定义过滤器

        如果jinja2模板中的过滤器无法满足我们的使用需求,我们也可以自定义过滤器。

示例:

python中代码块:

from flask import Flask,render_template
from datetime import datetime

def datetime_format(value,format="%Y-%m-%d %H:%M"):
    return value.strftime(format)
app.add_template_filter(datetime_format,"dformat")

@app.route("/filter")
def filter_demo():
    mytime = datetime.now()
    return render_template("filter.html",mytime=mytime)

 html中代码块:

<div>{{ mytime | dformat }}</div>

三、创建文件:05过滤器

复制文件:04模板访问对象属性到flask项目下重命名为:05过滤器,并开启debug模式。

from flask import Flask,render_template
from datetime import datetime

app = Flask(__name__)

def datetime_format(value,format="%Y-%m-%d %H:%M"):
    return value.strftime(format)

app.add_template_filter(datetime_format,"dformat")

class User:
    def __init__(self,username,email):
        self.username = username
        self.email = email


@app.route('/')
def hello_world():
    user = User(username="知网",email="xxx@qq.com")
    person = {
        "username" : "张三",
        "email":"zhangsan@qq.com"
    }
    return render_template('index.html',user=user,person=person)


@app.route("/blog/<blog_id>")
def blog_detail(blog_id):
    return render_template("blog_detail.html",blog_id=blog_id,username="Mr.Qian")

@app.route("/filter")
def filter_demo():
    user = User(username="知网",email="xxx@qq.com")
    mytime = datetime.now()
    return render_template("filter.html",user=user,mytime=mytime)

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

四、创建文件:filter.html

在templates目录下创建一个新的html5文件:filter.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过滤器的使用</title>
</head>
<body>
{{ user.username }}-{{ user.username|length }}
<div>{{ mytime | dformat }}</div>
</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/122920.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!