我想将自定义表单传递给模板文件。
模板:
{{ form }} # prints nothing
视图:
class EntertainerDisplay(FormView):
form_class = EntertainerCheckboxForm
template_name = 'entertaining/custom_form.html'
表格:
class EntertainerCheckboxForm(forms.Form):
class Meta:
model = Entertainer
fields = ['first_name',
'second_name',
'last_name'
]
无论我做什么,form
变量永远不会出现在View
上下文中,因此不会发送到template file
。如何将表单及其字段传递到form
中的template file
变量?
答案 0 :(得分:5)
错误在EntertainerCheckboxForm
定义中。它应该是forms.ModelForm
的子类,而不是forms.Form
。
由于您已将EntertainerCheckboxForm
定义为forms.Form
的子类并且未手动添加任何表单字段,因此不会呈现任何表单字段,因为没有要呈现的字段。
正确的定义应如下:
class EntertainerCheckboxForm(forms.ModelForm):
class Meta:
model = Entertainer
fields = ['first_name', 'second_name', 'last_name']
答案 1 :(得分:0)
在 views.py :
中 来自myappname.forms的导入EntertainerCheckboxForm
def my_form_view
myform = EntertainerCheckboxForm()
return render(request,'path/to/your/template', {'myform': myform})
在 template.html :
中{{myform}}