這篇文章將為大家詳細講解有關怎么在flask框架中自定義過濾器,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
一. 自定義一個mardown過濾器
自定義一個markdown過濾器, 使過濾器可以像safe解析html標簽一樣解析md語法.
安裝庫
pip install Markdown==2.3.1
自定義過濾器
使用@app.template_filter(‘md')過濾器, 此時便擁有了名為md的過濾器.
@app.template_filter('md') def markdown_to_html(txt): from markdown import markdown return markdown(txt)
使用示例
views
@app.route('/', methods=['POST', 'GET']) def index(): return render_template('index.html', body='# hello')
模板中直接使用
{{ body|md|safe }}
二. 添加讀取文件的功能
讀取md文件, 并輸出到html中
定義讀文件函數
def read_md(filename): with open(filename) as md_file: content = reduce(lambda x, y: x+y, md_file.readline()) return content.decode('utf-8')
上下文管理器
此時read_md函數可以全局使用
@app.context_processor def inject_methods(): return dict(read_md=read_md)
可以在模板中調用函數
{{ read_md('test.md')|md|safe}}
關于怎么在flask框架中自定義過濾器就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。