您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)怎么在flask框架中自定義過濾器,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
一. 自定義一個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中
定義讀文件函數(shù)
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函數(shù)可以全局使用
@app.context_processor def inject_methods(): return dict(read_md=read_md)
可以在模板中調(diào)用函數(shù)
{{ read_md('test.md')|md|safe}}
關(guān)于怎么在flask框架中自定義過濾器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。