Flask的jinja2模板中自定義過濾器的使用

2021-08-01 21:19:15 字數 1094 閱讀 6579

大部分的模板引擎都是支援過濾器功能的,jinja2也不例外,它提供了豐富的內建過濾器,但是有些時候還是沒辦法滿足我們的需求,好在jinja2支援自定義過濾器,下面是乙個簡單的例子。

下面的例子完成了自定義過濾器,包括過濾器有乙個引數和多個引數的使用

# -*- coding:utf-8 -*-

__author__ = 'guoqianqian'

from flask import flask

from flask_script import manager

from flask import render_template

defmylen

(arg):

#實現乙個可以求長度的函式

return len(arg)

# 該函式實現給定乙個區間返回區間的內容

definterval

(test_str, start, end):

#過濾器中傳遞多個引數,第乙個引數為被過濾的內容,第二第三個引數需要自己傳入

return test_str[int(start):int(end)]

env.filters['mylen'] = mylen#註冊自定義過濾器

env.filters['interval'] = interval#註冊自定義過濾器

defindex

(): test_str = "hello"

return render_template("index.html", test_str=test_str)

if __name__ == "__main__":

manager.run()

lang="en">

charset="utf-8">

jinjia2模板測試title>

head>

len:

}h1>

interval:

}h1>

body>

html>

len: 5

interval: he

flask框架模板jinja2

from flask import flask,render template from flask script import manager def index return this is index def template return render template file01.htm...

Flask框架(二)模板引擎JinJa2

三.巨集操作 jinja2 是乙個現代的,設計者友好的,仿照 django 模板的 python 模板語言。它速度快,被廣泛使用,並且提供了可選的沙箱模板執行環境保證安全 hello lower safe 渲染值時不轉義 capitalize 把值的首字母轉換成大寫,其他字母轉換成小寫 lower ...

Flask 學習(二)jinja2模板介紹

舉例 flask python from flask import flask,render template,redirect,request student student list student dict b c detail defdetail print url for detail r...