我已声明以下表格
form = BudgetPageInitial()
在我的view.py
中,我想要将一个变量(比如“x”)传递给BudgetPageInitial()
,以便我可以在表单定义中使用该变量在表单中forms.py
生成“x”个输入字段BudgetPageInitial
。
请指导我这样做。
看法
form = MiscQuestionForm(request.POST or None, misc=misc_questions)
形式
class MiscQuestionForm(BootstrapForm):
def __init__(self, *args, **kwargs):
misc = kwargs.pop('misc')
super(MiscQuestionForm, self).__init__(*args, **kwargs)
for question in misc:
if question.answer_type == 1: # bool
self.fields['custom_%s' % question.pk] = forms.BooleanField(
label=question, required=True)
else: # textfield
self.fields['custom_%s' % question.pk] = forms.CharField(
label=question, widget=forms.Textarea,
required=True)
这是您可以用来将变量传递给表单定义的设计模式,就像我使用misc
.