don*_*yor 2 python forms django
文档说,要在模板中显示表单字段,我需要这样做:
<form action="/search_for_book/">{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Suchen" />
</form>
Run Code Online (Sandbox Code Playgroud)
我做到了 这是我的看法。
def addbook(request):
form = AddBook()
return render(request,'searchbook.html',{'form':form})
Run Code Online (Sandbox Code Playgroud)
这是我的表格。在forms.py中定义并导入到views.py
class AddBook(forms.Form):
titel = forms.TextInput()
author = forms.TextInput()
Run Code Online (Sandbox Code Playgroud)
为什么表单字段不显示在模板中?我几乎从文档中复制了1:1的副本。模板仅显示按钮Suchen,没有其他显示。Docs没有谈及Urlconf,我也必须这样做吗?
原因是您要定义一个小部件,而该小部件仅是HTML输入元素的表示,而不是在forms.py中定义字段。请
执行以下操作:
class AddBook(forms.Form):
titel = forms.CharField(widget=forms.TextInput())
author = forms.CharField(widget=forms.TextInput())
Run Code Online (Sandbox Code Playgroud)
PS:不要怪Django的文档-它们真的很棒!
有关小部件的参考,请阅读此处:https : //docs.djangoproject.com/en/dev/ref/forms/widgets/
有关字段的参考,请阅读此处:https : //docs.djangoproject.com/en/ dev / ref / forms / fields /
| 归档时间: |
|
| 查看次数: |
4935 次 |
| 最近记录: |