本小节将对输入文章的多行文本输入框升级,让其支持MarkDown语法,并使用MarkDown和Flask-PageDown支持富文本文章,此处需要安装的几个新包如下:
- PageDown:使用JS实现的客户端MarkDown到HTML的转换程序;
- Flask-PageDown:Flask包装的PageDown,把PageDown集成到Flask-WTF表单中;
- MarkDown:使用Python实现的服务器端MarkDown到HTML的转换程序;
- Bleach:使用Python实现的HTML清理器。
安装:
pip install flask-pagedown markdown bleach
一. 使用FLask-PageDown
Flask-PageDown定义了一个PageDownField类,作为MarkDown富文本编辑器。这个类和WTForms中的TextAreaField接口一致。使用PageDownField字段之前,先要初始化扩展。
app/__init__.py:初始化Flask-PageDown
...
from flask_pagedown import PageDown
pagedown = PageDown()
def create_app(config_name):
app = Flask(__name__)
...
pagedown.init_app(app)
...
return app
若想把首页中的多行文本输入框转换成MarkDown富文本输入框,PostForm表单中的