问题标签 [flask-wtforms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3903 浏览

python - flask AttributeError:“HTMLString”对象没有属性“__call__”

我创建了一个宏来处理表单错误,如下所示:

我的forms.py如下:

我的登录表单如下:

我收到以下错误:

我没有得到代码中的错误?如果我从 html 文件中删除宏,而是在 html 表单中包含用于错误处理的 for 循环,它就可以完美运行。我认为,导致错误的元素中包含的占位符和类,但不知道为什么?

0 投票
2 回答
6766 浏览

flask - Flask / WTForms 中的动态表单(Formsets)?

在 Django 中,您有一个称为 Formsets 的多表单功能,您可以使用它在同一个模板中创建多个表单。我试图在 Flask / WTforms 中实现类似的东西。

这个想法是使用一种形式来包装所有复选框,用户喜欢勾选这些复选框以成为朋友。就目前而言,我并没有真正在 Flask 中生成任何表单类,因为我不知道如何制作动态 FormSet,因此我在 html 中动态创建表单。

不过需要注意的是,我不知道如何user id通过复选框检索所选内容。(我把它存储在了,id因为我不知道更好)

但我无法访问request.values['checkbox1']. 我只能看到它的onoff

有什么建议可以解决这个问题吗?

0 投票
8 回答
84746 浏览

forms - 使用flask和WTForms在一个页面中的多个表单

我在同一页面上有多个表单,它们将发布请求发送到烧瓶中的同一处理程序。

我正在使用 wtforms 生成表单。

确定提交哪种表格的最佳方法是什么?

我目前正在使用action="?form=oneform". 我认为应该有一些更好的方法来实现相同的目标?

0 投票
1 回答
55 浏览

python - 如何给 TexareaField 一个预定义的值?

我是新来
的,我只是想在文本字段中为flask-wtforms中的文本区域字段赋值,我只应该使用value="blah blah"
关于文本区域的任何内容?

0 投票
2 回答
20337 浏览

python - 我无法导入 Flask-WTF TextField 和 BooleanField

我正在使用 virtualenv 来建立一个新项目。我使用脚本文件夹中的 virtualenv pip 安装了很多东西,如下所示:

我没有在全局 python 文件夹中安装其他包。我的代码如下所示:

发现其他软件包,如 sqlalchemy 也仅安装在虚拟环境中。

我得到的错误是:

找到了表单,但没有找到 TextField 和 BooleanField。这里有什么问题?

更新 我刚刚浏览了一些 Flask-WTF 代码,发现了这个:

我是在使用旧版本的示例还是什么?

0 投票
1 回答
631 浏览

post - 为什么 Flask-WTF 表单通过 POST 请求而不是 GET 呈现 404 错误

我一直在看这个,试图让这个表单识别 POST,但它会生成 404 错误。

意见

我有一个简单的联系功能,在请求页面 GET 时工作正常。为页面 GET 加载以下联系页面:

提交此表单后,它会返回 404 错误页面,因为它通过 POST 请求联系。此外,通过 firefox 开发工具检查,它显示该页面发布了正确的页面/联系人,但由于 404 错误而超时,并给出了以下附加消息:

未声明 HTML 文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则文档将在某些浏览器配置中呈现乱码。页面的字符编码必须在文档或传输协议中声明。

在模板文件中,我尝试了一些不同的声明,但似乎没有什么区别:

如果我遗漏任何有助于解决此问题的内容,请告诉我。

编辑:这是电子邮件表格

0 投票
2 回答
6702 浏览

python - Flask WTForms 在 validate_on_submit() 上总是给出 false

我使用 wtforms 创建了一个注册表单。我在其中使用了 FormField,这样我就不必再次重复表单的某些元素。但是每当我点击提交按钮时,它总是在 validate_on_submit 方法调用上给我错误。不明白为什么会这样。

form.py的如下:

Signup方法如下:

HTML 表单出现在gist here

仅供参考:我将所有必填字段与所需的实际数据放在一起。当我调用 validate_on_submit() 时仍然会出错。我的代码有什么问题?

编辑:getLanguages 是一种从数据库中检索语言并放入选择列表的方法。此功能正在按预期发生,我可以获得语言列表。

编辑2:在这里实现一件事。这是由于 FormField 造成的,因为我通过将 ProfileInfoForm() 的所有字段添加到 RegistrationForm() 方法进行测试,一切正常,我可以注册。因此,FormField 或我使用它的方式存在一些问题,但不确定哪里出了问题。

发现问题不在于 FormField,而在于我的 ProfileInfoForm()。它总是返回假。还没有理由,但我想我可能必须为此编写自己的验证。有什么想法吗?

编辑:

在转储时,我得到以下信息(此处使用 pprint):

编辑:

我稍微挖掘了一下,发现生成错误是由于缺少 csrf 令牌。但是我已经 {{ signup_form.hidden_tag() }}在我的表单模板中包含了 html。我可以在检查元素时看到生成的 html 中的隐藏标签,并且可以看到带有哈希值的 csrf_token 字段。那么这里有什么问题呢?

0 投票
1 回答
994 浏览

python - Flask forms fields into an ordered list

I have an application where I can have multiple reports example students enrolled in a school and student results per subject and various more. These reports accept very similar report creation criterias for example students enrolled takes the search criteria of date range and student results takes date range and course.

I am using WTF flask form to represent each of these report search criterias form For example:

Now at the time of rendering I want to only have one template to render all the report criteria forms. I was thinking of creating a template then looping through the fields in the flask form to display them in the template. But if I do that I cannot govern the order in which the fields will be diplayed in the template.

For example:

Can someone please suggest how I can convert the flask form fields into an ordered list which when passed to the UI can be looped through to render the fields

0 投票
0 回答
470 浏览

python - WTForms 呈现具有零条目的字段列表

使用 WTForms 文档中的示例:

我希望将 IMForm 用户名设为必填字段,但保持提供 0..n im_accounts 的能力。

是否可以在不使用 min_entries=1 或附加条目的情况下在 Flask 模板中呈现协议和用户名字段,从而在未提交 IM 帐户时触发用户名要求错误?

0 投票
1 回答
1185 浏览

python - 翻译 Flask-WTF 中的默认错误

我正在尝试使用 Flask-WTF 插件翻译来自 WTForms 的默认消息。根据这个(https://github.com/ajford/flask-wtf/pull/65)它应该可以工作。您还可以看到 wtforms 使用 gettext 作为其默认错误消息(https://bitbucket.org/simplecodes/wtforms/src/113994790508/wtforms/validators.py)。

我将 WTF_I18n_ENABLED 添加到我的配置文件中,并使用以下命令创建了我的 .po 文件

我希望默认消息出现在那里,但他们没有。我是期待太多还是做错了什么?