2013-10-20 101 views
2

該文件說,要顯示在模板中的表單字段,我必須這樣做:django表單字段沒有顯示在模板中 - 爲什麼?

<form action="/search_for_book/">{% csrf_token %} 
    {{form.as_p}} 
    <input type="submit" value="Suchen" /> 
</form> 

我這樣做。這是我的看法。

def addbook(request): 
    form = AddBook() 
    return render(request,'searchbook.html',{'form':form}) 

這是我的形式。在forms.py中定義並導入到views.py

class AddBook(forms.Form): 
    titel = forms.TextInput() 
    author = forms.TextInput() 

爲什麼表單字段不顯示在模板中?我從文檔中幾乎完成了1:1的複製。模板只顯示按鈕Suchen,沒有別的。 Docs沒有說Urlconf的任何信息,我還必須這樣做嗎?

回答

4

之所以是,你定義一個小部件,它僅僅是一個HTML input元素的代表,而不是在你的forms.py定義字段

執行以下操作:

class AddBook(forms.Form): 
    titel = forms.CharField(widget=forms.TextInput()) 
    author = forms.CharField(widget=forms.TextInput()) 

PS:不要責怪django的文檔 - 他們真的很棒!

有關部件的referencce,在這裏讀到:https://docs.djangoproject.com/en/dev/ref/forms/widgets/
有關領域的參考信息,請瀏覽:https://docs.djangoproject.com/en/dev/ref/forms/fields/

+0

感謝,像魅力的工作。我收回了我對文檔所說的話。他們真的很棒。 – doniyor

相關問題