Python 进阶 (五十三)Flask Web 开发实现将表单渲染成 HTML

一、前言
在利用 Flask 进行 Python Web 开发时,页面中的wtf.quick_form(form)函数中的参数 form 是如何与视图函数中的 form 变量关联起来的?即 Flask 是如何将表单渲染成 HTML 的?下面以实例的形式进行问题求解。
在视图函数 views.py 中:
 将相应的表单类实例作为参数传递给模版。
相应的 LoginForm()定义在 forms.py 中,定义如下:
复制代码
 注意:在执行以上代码的过程中,会出现 Wraning 提示:‘FlaskWTFDeprecationWarning: "flask_wtf.Form" has been renamed to "FlaskForm" and will be removed in 1.0. ’
针对该问题,查看作者声明,将 Form 类重命名为 FlaskForm,这样导入就没问题了。
复制代码
 相应的类中的参数也需要改为 FlaskForm。
html 模版内容如下:
复制代码
 另外,在调试过程中,曾经出现过预料之外的模版渲染情况,即生成的 Web 表单并未在表单模版中渲染成功。经过代码检查校验,发现是由于基模版与继承模版出现标签不匹配和匹配错误所造成的。
二、经验教训
在定义基模版时应确保文档的结构完整,并予以继承模版适当的继承空间。
经过修改基模版与继承模版,模版可以正常渲染。页面如下图所示:
 三、拓展阅读
《Flask Web开发:基于Python的Web应用开发实战》
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/e0a2afe6de39c7e0762cea969】。文章转载请联系作者。









    
评论