我们编辑长文章的时候, 单一的文本格式便满足不了要求, 于是我们使用PageDown,PageDown的作用是使用javascript实现客户端markdown到html的程序转换。
Flask-PageDown把PageDown集成到wtf表单中, 换言之就是使用javascript把wtf中的markdown转换成html。
一. 安装扩展flask-pagedown, markdown, bleach
& pip install flask-pagedown markdown bleach
二. 修改|flasky/config.py
初始化扩展from flask_pagedown import PageDown #... pagedown = PageDown() #... def create_app(config_name): #... pagedown.init_app(app) #...
三.修改|-app/-main/forms.py
把PostForm中的TextAreaField字段转换为PageDownField字段, 它俩接口一样。
from flask_pagedown.fields import PageDownField class PostForm(FlaskForm): body = PageDownField("What's on your mind?", validators=[ DataRequired() ]) submit = SubmitField('Submit')
四. 修改index.html
#... {% block scripts %} {{ super() }} {{ pagedown.include_pagedown() }} {% endblock %}
pagedown.include_pagedown()语句在模板中导入了javascript代码, 作用是把wtf中的PageDownField字段中的markdown转换为html预览。
五. 效果演示
如图所示, 在wtf表单的PageDownField字段中输入markdown文本, 下面就会显示html预览, 这样用户在编辑文章内容的时候在下方就会显示html文本, 满足了我们对不同格式的要求。