我正在使用Flask(vsn 0.8)和Flask-WTF(vsn 0.5.2)(例如,解析表单)来创建一个非常简单的网站。但是,我无法让Flask-WTF正确解析我的GET结果。

我的相关代码如下: 通用标签

如果我使用GET提交带有单个字段“ aws_id”的表单,则会在控制台上获得以下输出。 通用标签

在我看来,提交工作正常,但是Flask-WTF并未执行该操作。本质上,处理表单输出的旧方法有效,即request.args.get方法,但是新的form.is_submitted和form.validate_on_submit并没有发挥其不可思议的作用。

有什么想法吗?(WTF!)

有帮助吗?

解决方案

我将我的应用程序移到了网站的根目录,删除了其中的那个(=冗余),然后将request.form添加到MyForm类中。那似乎解决了。还必须将csrf_enabled设置为false。 通用标签

其他提示

Flask-WTF的Formis_submitted方法如下: 通用标签

并且在其__init__中具有以下代码,该代码通常可以确保从Flask请求中自动加载表单数据: 通用标签

很明显...如果您通过GET提交表单,您将不会获得任何不错的自动行为。这是可以理解的,因为如果是GET请求,则不清楚表单是已提交还是您正在加载页面。除了CSRF的任何问题。

validate_on_submit也不起作用,因为它也依赖于is_submitted

Flask本身也不会将GET字段解析为您的request.form

您最终不得不执行以下操作: 通用标签

(都假定您的MyForm类是从from flask.ext.wtf import Form继承的)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top