我必须在这里忽略一些东西,但在剥离所有东西之后 - 我似乎无法让Django将Form或ModelForm渲染到我的模板中。代码如下:
#forms.py
class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField()
sender = forms.EmailField()
cc_myself = forms.BooleanField(required=False)
#views.py
def index(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid(): # All validation rules pass
return HttpResponseRedirect('/thanks/')
else:
form = ContactForm() # An unbound form
return render_to_response('home/new_website.html',{
'form': form,
})
#new_website_html
<html>
<body>
<form method = "post" action = "">
{{ form.as_p }}
</form>
</body>
</html>
答案 0 :(得分:1)
我有同样的问题,经过多次尝试,这是我的解决方案:
从此处更改视图
#views.py
else:
form = ContactForm() # An unbound form
return render_to_response('home/new_website.html',{
'form': form,
})
对此:
#views.py
else:
form = ContactForm() # An unbound form
return render_to_response('home/new_website.html',{
'form': form,
})
或者简单的换行就足够了:
#views.py
else:
form = ContactForm() # An unbound form
return render_to_response('home/new_website.html',{
'form': form,
})
奇怪的是,经过这些修改后,原始代码才有效。
答案 1 :(得分:0)
任何错误页面或只是空白页?实际上我只是尝试你的代码并使表单呈现正确(我不知道如何在这里插入本地结果图像) 请确保settings.py中的DEBUG = TRUE,而不是问题。 @Burhan我认为缩进问题只会发生,因为他在stackoverflow中编辑它。 顺便说一句,你的表单没有提交按钮,也许可以像html一样添加