我在我的项目中使用了 jinja2 和 wtforms 的组合,我需要在 FieldList 中使用 FormField。以下代码不起作用,但会引发异常。
class FormTranslations(object):
def gettext(self, string):
return gettext(string)
def ngettext(self, singular, plural, n):
return ngettext(singular, plural, n)
class BaseForm(Form):
def __init__(self, request_handler):
super(BaseForm, self).__init__(request_handler.request.POST)
def _get_translations(self):
return FormTranslations()
class SubForm(BaseForm):
name = fields.StringField()
qty = fields.IntegerField()
class MainForm(BaseForm):
value = fields.IntegerField()
items = fields.FieldList(fields.FormField(SubForm), min_entries=2)
#Instantiate and initialize the MainForm:
f = MainForm(self)
Exception:
…
…
…
File "/src/external/wtforms/form.py", line 178, in __call__
return type.__call__(cls, *args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'formdata'
有时是formdata
。在其他时候,它是obj
或prefix
那似乎是unexpected
关键字。
我的代码有什么问题?