2

私は次のフォームを宣言しました

form = BudgetPageInitial()

私のview.py場合、必要なのは変数(たとえば「x」)をに渡してBudgetPageInitial()、フォーム定義でその変数を使用して、フォームにforms.py「x」個の入力フィールドを生成できるようにすることですBudgetPageInitial

そうするように私を導いてください。

4

1 に答える 1

3

意見

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

于 2012-07-11T06:19:41.800 に答える