form.py中的多种形式

时间:2018-11-28 14:23:11

标签: python django python-3.x

这是一个Django项目。

forms.py

class BigForm(forms.Form):
    template = forms.CharField(label='Template', widget=forms.Select(choices=CHOICES))

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.helper = FormHelper
        self.helper.form_method = 'post'
        self.helper.layout = Layout(
            Field('template'),
            Submit('submit', 'Submit', css_class='btn-success')
    )


class DateForm(forms.Form):
    start_date = forms.CharField(label='Start date')
    end_date = forms.CharField(label='End date')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.helper = FormHelper
        self.helper.form_method = 'post'
        self.helper.layout = Layout(
            Field('start_date', css_class='form-control'),
            Field('end_date', css_class='form-control')
        )

views.py

def myForm(request):
    main_form = BigForm()
    date_form = DateForm()
    return render(request, 'polls/main.html', {'main_form': main_form, 'date_form': date_form})

这有什么问题吗?我不断 KeyError:“在'BigForm'中找不到关键字'end_date'。选择是:template。”

我只想要两个单独的表单类(用于两个单独的表单)

1 个答案:

答案 0 :(得分:1)

您尚未在end_date中将BigForm声明为字段。它存在于DateForm中。