Django newb在这里,但我正在学习。
问题陈述
输入字段无法在html模板中呈现。
在浏览器中输出
真
|提交按钮|
相关代码
forms.py
from django import forms
from django.db import models
class PostNotes(forms.Form):
clientid = models.IntegerField()
notetext = models.CharField(max_length=1000)
-
views.py
def post_form_notes(request):
if request.method == 'GET':
sawit = True
form = PostNotes(initial={'notetext':'This is a sample note'})
else:
sawit = False
pass
return render(request, 'clientadmin/post_form_notes.html', {
'form': form,
'sawit': sawit,
})
-
post_form_notes.html
{{ sawit }}
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
已完成排查
答案 0 :(得分:0)
我修改了forms.py以使用我已经拥有的数据库模型。
<强> forms.py:强>
from django.forms import ModelForm
from clientadmin.models import notes
class PostNotes(ModelForm):
class Meta:
model = notes
fields = ['notedate', 'notetext']
我还修改了views.py以不设置初始值,因此该函数使用以下内容而不是所要求的内容。
<强> models.py:强>
def post_form_notes(request):
if request.method == 'GET':
form = PostNotes()
else:
pass
return render(request, 'clientadmin/post_form_notes.html', {
'form': form,
})
希望这可以帮助那些遇到同样问题的人......
请参阅以下网址以获取更多信息:https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/