欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

flask框架自定義過(guò)濾器示例【markdown文件讀取和展示功能】

 更新時(shí)間:2019年11月08日 08:44:28   作者:weixin_42359464  
這篇文章主要介紹了flask框架自定義過(guò)濾器,結(jié)合實(shí)例形式分析了flask基于自定義過(guò)濾器實(shí)現(xiàn)markdown文件讀取和展示功能相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了flask框架自定義過(guò)濾器。分享給大家供大家參考,具體如下:

除了一些內(nèi)置的join length safe等過(guò)濾器外, flask還提供了自定義過(guò)濾器的功能.

一. 自定義一個(gè)mardown過(guò)濾器

自定義一個(gè)markdown過(guò)濾器, 使過(guò)濾器可以像safe解析html標(biāo)簽一樣解析md語(yǔ)法.

  • 安裝庫(kù)
pip install Markdown==2.3.1
  • 自定義過(guò)濾器

使用@app.template_filter(‘md')過(guò)濾器, 此時(shí)便擁有了名為md的過(guò)濾器.

@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')

  • 上下文管理器

此時(shí)read_md函數(shù)可以全局使用

@app.context_processor
def inject_methods():
  return dict(read_md=read_md)

  • 可以在模板中調(diào)用函數(shù)
{{ read_md('test.md')|md|safe}}

希望本文所述對(duì)大家基于flask框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python 基于opencv實(shí)現(xiàn)高斯平滑

    python 基于opencv實(shí)現(xiàn)高斯平滑

    這篇文章主要介紹了python 基于opencv實(shí)現(xiàn)高斯平滑,幫助大家更好的理解和使用python處理圖片,感興趣的朋友可以了解下
    2020-12-12
  • Python 身份驗(yàn)證和授權(quán)庫(kù)使用詳解(python jwt庫(kù))

    Python 身份驗(yàn)證和授權(quán)庫(kù)使用詳解(python jwt庫(kù))

    python_jwt是一個(gè)Python庫(kù),用于生成、解析和驗(yàn)證JSON Web Tokens(JWT),它完全符合JWT標(biāo)準(zhǔn)規(guī)范(RFC 7519),并提供了簡(jiǎn)單而強(qiáng)大的API,使得用戶可以輕松地在Python應(yīng)用中實(shí)現(xiàn)JWT功能,通過(guò)本文的介紹,深入探討了python_jwt庫(kù)的功能特性、使用方法以及應(yīng)用場(chǎng)景
    2021-01-01
  • 最新評(píng)論