11.4 使用Flask-PageDown支持富文本文章

    我们编辑长文章的时候, 单一的文本格式便满足不了要求, 于是我们使用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文本, 满足了我们对不同格式的要求。



猜你喜欢

转载自blog.csdn.net/sinat_34927324/article/details/79996027
今日推荐