Django 1.10将表单对象传递给模板

Fus*_*ion 1 django django-forms

我想将自定义表单传递给模板文件.

模板:

{{ form }} #  prints nothing
Run Code Online (Sandbox Code Playgroud)

意见:

class EntertainerDisplay(FormView):
    form_class = EntertainerCheckboxForm
    template_name = 'entertaining/custom_form.html'
Run Code Online (Sandbox Code Playgroud)

表格:

class EntertainerCheckboxForm(forms.Form):    
    class Meta:
        model = Entertainer
        fields = ['first_name',
                  'second_name',
                  'last_name'
                 ]
Run Code Online (Sandbox Code Playgroud)

无论我做什么,form变量永远不会在View上下文中,因此不会被发送到template file.如何将表单及其字段传递给form变量template file

nar*_*ary 5

错误在于EntertainerCheckboxForm定义.它应该是子类forms.ModelForm,而不是forms.Form.

由于您已定义EntertainerCheckboxForm为子类,forms.Form并且未手动添加任何表单字段,因此不会呈现任何表单字段,因为没有要呈现的字段.

正确的定义应如下:

class EntertainerCheckboxForm(forms.ModelForm):    
    class Meta:
        model = Entertainer
        fields = ['first_name', 'second_name', 'last_name']
Run Code Online (Sandbox Code Playgroud)