在Flask中从wtforms FormField获取数据

2024-04-25 20:43:21 发布

您现在位置:Python中文网/ 问答频道 /正文

在路由中使用表单从表单获取数据时遇到问题

表单.py

class Calculator(Form):
    amount = IntegerField('Amount')
    weight = IntegerField('Weight')

class Program(Form):
    cycles = IntegerField('Cycles')
    volume = FormField(Calculator)

应用程序副本

^{pr2}$

cycles的数据处理得很好,但是我不确定如何在我的路由中访问封装的表单的语法。文档说FormField将返回封闭形式的数据dict,但我似乎不知道如何获取它并将其放入变量中。在


Tags: pyform表单路由programamountcalculatorclass
2条回答

我可以用它来获取我需要的数据

    amount=form.volume.amount.data,
    weight=form.volume.weight.data

真正的问题来自于这样一个事实:当我使用FormField时,表单没有进行验证。一个新手的错误我应该早点检查的。 我必须通过从flask_wtf导入并使用CsrfProtect(app)来启用CSRF保护

问题是表单数据不是作为Calculator类的属性来传递的。数据作为字典从volume属性发送。在

用:print form.volume.data

(我建议注释掉你的values对象,只使用print语句)

输出应该是:{'amount': foo, 'weight': bar}

谢谢你教我一些东西!我从来不知道FormField。在

相关问题 更多 >