私は次のフォームを宣言しました
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
。