2
我创建了一个模型表单,然后在每个页面上都包含表单的情况下将其呈现在context processor
中。表单提交后,应重新指向“谢谢”页面。但它似乎只是重新加载页面并删除表单。通过URL在页面上呈现时,我已经全部工作了。由于将函数移到我的上下文处理器,它不会正确重定向。Django模型表单没有正确提交
它还保存在管理中提供给模型的信息。所以我猜测这是重定向的问题。
这里是我的背景处理器:
from django.conf import settings
from contact_enquiries import forms
from django.shortcuts import render
from django.http import HttpResponseRedirect
def contact(request):
if request.method == 'POST':
form = forms.ContactUsForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/thanks/')
else:
form = forms.ContactUsForm()
return {
'contact_form' : form,
}
forms.py
class ContactUsForm(ModelForm):
class Meta:
model = ContactUs
fields = ['name', 'contact_number', 'email', 'enquiry']
models.py
class ContactUs(models.Model):
name = models.CharField(max_length=200)
contact_number = models.IntegerField(max_length=50)
email = models.EmailField(max_length=300)
enquiry = models.TextField()
class Meta:
verbose_name_plural = "Contact Us"
def __unicode__(self):
return self.name
没有现在听起来真的很愚蠢,我将如何改变它所以它发布到不同的观点? – JDavies
这不是一个愚蠢的问题,我扩大了我的答案。 – Alasdair
谢谢。我会尽快尝试。 :) – JDavies