【问题标题】:In which way Flask-WTF simplifies the integration of Flask with WTForms?Flask-WTF 以何种方式简化了 Flask 与 WTForms 的集成?
【发布时间】:2015-09-09 19:59:50
【问题描述】:
我正在构建我的第一个基于 Flask 的 Web 应用程序,并且我正在努力选择使用表单的扩展程序。我在很多地方都读过 Flask-WTF 提供/提供与 WTForms 的简单集成,但我找不到对此声明的解释。
对我来说,这个问题是相关的,因为使用包装器(如 Flask-WTF)增加了包含将来可能停止由创建者维护的包的可能性。
最后,我想知道使用 Flask-WTF 代替 WTForms 有哪些好处。
【问题讨论】:
标签:
python
flask
wtforms
flask-wtforms
【解决方案1】:
Flask-WTF 试图简化 Flask 和 WTForms 之间的接口。它还提供了一些常用的小部件/元素,例如 Recaptcha、File Uploads。本质上,Flask-WTF 有助于抽象和(甚至增强)WTForms 中的一些常用结构。
例如,使用 flask_wtf.Form 而不是 wtf_forms.form.Form 允许您调用 Form.validate_on_submit(),它会先检查请求是否为 POST,然后再在基础表单上调用 validate()。
其他示例是FileField 的FileRequired 和FileAllowed 验证器
虽然不是理想的情况,但如果flask_wtf 将来因任何原因消失,应该直接编写一个模仿其功能的类,这样您就不必修改现有的代码库。