1. 前言
Flask 拥有丰富的扩展方法,且都有统一的特点:简单和即学即用。当我们要实现某个功能之前,可以提前去搜一搜这个功能包是否已经存在,这样也能帮助我剩下很多时间。那么要去哪里找到这些扩展包呢,这里推荐两个方法供大家使用:
-
Flask 官方网站 https://flask.palletsprojects.com/en/3.0.x/extensions/ :这里有很多常用的而且经过验证的第三方包。
-
pycharm 查找对应的包。
2. 模板
模板即一个服务器页面,在模板中我们可以使用服务端的语法,来控制最终的 html 页面输出。
jinja2 :https://jinja.palletsprojects.com/en/3.1.x/templates/#filters
python
@app.template_filter('md')
def markdown_to_html(txt):
return markdown(txt)
def read_md(filename):
with open(filename) as md_file:
content = reduce(lambda x, y: x + y, md_file.readlines())
return content.decode('utf-8')
@app.context_processor
def inject_method():
return dict(read_md=read_md)
html
{{body | md |safe }}
{{read_md('xxxx.md')}}