我需要一个窗体,它有一个动态创建的部分和一个静态部分。所以我想把。。。但我不知道如何处理动态创建的表单。 我以这种方式创建动态窗体:
来自视图.py
def create_legumes_form_class(legumes):
form_fields={}
for legume in legumes:
field_id = 's_{}'.format(legume.id)
form_fields[field_id] = IntegerField(default=0 , validators = [InputRequired()])
return type('OrderForm', (Form,), form_fields)
然后在my view函数中实例化窗体:
legumes = Legumes.query.filter_by(disponible = True).all()
OrderForm = create_legumes_form_class(legumes)
form = OrderForm()
但是对于这个OrderForm(),我需要添加一对布尔字段,它们总是相同的(即不是从查询中动态创建的)。你知道吗
所以我尝试在中添加一个(静态)表单表单.py并在view函数中这样实例化:
form=OrderForm(StaticForm)
但我现在
TypeError: formdata should be a multidict-type wrapper that supports the 'getlist' method
我也不知道该从这里把它带到哪里去! 我做错了什么/没做什么?你知道吗
不能将另一个类传递给
OrderForm
构造函数并使其子类化该类。但是,您可以在调用type
时提供它。你知道吗如果
StaticForm
子类Form
,这可以进一步简化。你知道吗相关问题 更多 >
编程相关推荐