2017-01-02 71 views
1

我想將自定義表單傳遞給模板文件。Django 1.10將表單對象傳遞給模板

模板

{{ 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

回答

5

的錯誤是在EntertainerCheckboxForm定義。它應該是forms.ModelForm的子類,而不是forms.Form

由於您已將EntertainerCheckboxForm定義爲forms.Form的子類,並且尚未手動添加任何表單字段,所以它不呈現任何表單字段,因爲沒有字段進行呈現。

正確的定義應爲:

class EntertainerCheckboxForm(forms.ModelForm):  
    class Meta: 
     model = Entertainer 
     fields = ['first_name', 'second_name', 'last_name'] 
0

views.py

從myappname.forms導入EntertainerCheckboxForm

def my_form_view 
    myform = EntertainerCheckboxForm() 
    return render(request,'path/to/your/template', {'myform': myform}) 

template.html

{{myform}}