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