我创建了一个模型表单,然后context processor
在每个页面上都包含该表单。提交表单后,它应该重定向到“谢谢”页面。然而,它似乎只是重新加载页面并删除表单。通过 URL 在页面上呈现时,我已经完成了所有工作。由于将函数移动到我的上下文处理器,它不会正确重定向。
它还将提供到模型中的信息保存在管理员中。所以我猜这与重定向有关。
这是我的上下文处理器:
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,
}
表格.py
class ContactUsForm(ModelForm):
class Meta:
model = ContactUs
fields = ['name', 'contact_number', 'email', 'enquiry']
模型.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