Python 在用户向Django提交表单后,如何重定向到感谢您联系我们页面?
在向Django提交表单后,我需要将用户重定向到一个新页面,上面写着“感谢您联系我们” 我尝试过使用HttpResponseRedirect,reverse,但是我不知道如何将它实现到我项目的所有必要文件中Python 在用户向Django提交表单后,如何重定向到感谢您联系我们页面?,python,django,web-development-server,Python,Django,Web Development Server,在向Django提交表单后,我需要将用户重定向到一个新页面,上面写着“感谢您联系我们” 我尝试过使用HttpResponseRedirect,reverse,但是我不知道如何将它实现到我项目的所有必要文件中 from django.shortcuts import render from .forms import ContactForm # Create your views here. def contact(request): template = "contact.html"
from django.shortcuts import render
from .forms import ContactForm
# Create your views here.
def contact(request):
template = "contact.html"
if request.method == "POST":
form = ContactForm(request.POST)
if form.is_valid():
form.save()
else:
form = ContactForm()
context = {
"form": form,
}
return render(request, template, context)
当我单击submit时,它会将数据发送到Django数据库,这样表单就可以工作了,但用户不知道,因为在他们单击submit之后,它不会重定向到感谢页面 要重定向到感谢页面,您可以使用以下方法
from django.shortcuts import render
from .forms import ContactForm
from django.core.urlresolvers import reverse
from django.http.response import HttpResponseRedirect
def contact(request):
template = "contact.html"
if request.method == "POST":
form = ContactForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse("thanks_view_name"))
else:
form = ContactForm()
context = {
"form": form,
}
return render(request, template, context)
请参见示例只需使用新模板构建另一个与现有视图类似的视图,并将其连接到新url即可。然后将用户重定向到该url。大概是这样的: 在您的URL.py中: 在your views.py中: 在联系人视图中,只需返回一个
重定向('/Thank/')
from django.conf.urls import url
from .views import thank_you
urlpatterns = [
url(r'^thanks/$', thank_you, name='thank-you'),
]
from django.shortcuts import render
def thank_you(request):
template = 'thank_you.html'
context = {}
return render(request, template, context)