- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我已经创建了一个基本的联系表单,当用户提交信息时,它应该重定向到“谢谢”页面。
views.py:
def contact(request):
# if no errors...
return HttpResponseRedirect('/thanks/')
urls.py:
(r'^contact/$', contact),
(r'^contact/thanks/$', contact_thanks),
两个页面都使用硬编码的 URL。但是,当我在 /contact/
上提交表单时,它会重定向到 /contact
(没有结束斜杠),这是一个不存在的页面(404 或错误页面告诉我需要一个斜线)。
它没有正确重定向的原因是什么,我该如何解决这个问题?
更新: return HttpResponseRedirect('/contact/thanks/')
是我现在拥有的,但问题是提交按钮(使用 POST)确实不重定向到 URL - 它根本不重定向。
最佳答案
应该重定向的不是 POST 按钮,而是 View 。
如果没有另外指定,表单(HTML 表单标签)会发布到相同的 URL。如果表单在/contact/上,它会在/contact/上发布(带或不带斜线,都是一样的)。
认为您应该重定向到谢谢。来自文档:
def contact(request):
if request.method == 'POST': # If the form has been submitted...
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
form = ContactForm() # An unbound form
return render_to_response('contact.html', {
'form': form,
})
将 /thanks/
更改为 /contact/thanks/
即可。
关于python - Django HttpResponseRedirect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5823464/
我想在 Django 中使用类似于 render_to_response 函数的东西,但要使用 HttpResponseRedirect。 这是我的 views.py 用于 render_to_res
有人可以解释一下 Django Tutorial Part 4 是怎么回事吗? 具体来说, map 功能是如何工作的? 我了解 URL 不应在 View 函数中进行硬编码。 return HttpRe
我想将一个 int 参数 (user_id) 从一个登录 View 传递到另一个 View 。这在 HttpResponseRedirect 中可能吗?我尝试这样的事情: return HttpRes
当我尝试反转时,出现错误“* 之后的_reverse_with_prefix() 参数必须是一个序列,而不是整数”。我之前在 View 中对参数进行了硬编码,但正在尝试使其动态化。有什么建议吗? 查看
我已经创建了一个基本的联系表单,当用户提交信息时,它应该重定向到“谢谢”页面。 views.py: def contact(request): # if no errors... re
在向同一页面提交一个赞按钮后,我试图重定向我的页面,但我不断收到 NoReverseMatch at /score/like/2 这是网址 urlpatterns = [ path('user
我正在尝试获取 Django 站点的本地副本。生产站点在登录时工作正常,但我的本地实例在完成登录表单后不会重定向到个人资料页面。 这是login_page观点: def login_page(requ
我是 django (1.5.1) 的新手,对 HttpResponseRedirect 有点困惑。如果我理解正确,需要一个静态字符串,当你希望它动态重定向时,你会得到一个reverse()或一个ge
每当我的 django 站点在 View 对象中调用“HttpResponseRedirect”以重定向到另一个 url 时,它就会剥 ionic 域并返回到主站点。我正在 Django 的 SVN
我是 django (1.5.1) 的新手,对 HttpResponseRedirect 有点不适应。如果我理解正确需要一个静态字符串,并且当您希望它动态重定向时,您会得到一个 reverse() 或
每当我的 django 站点在 View 对象中调用“HttpResponseRedirect”以重定向到另一个 url 时,它就会剥 ionic 域并返回到主站点。我正在 Django 的 SVN
我正在使用以下中间件片段: class AjaxRedirect(object): """ Instead of returning a 302 for AJAX requests,
我正在使用 jquery 对话框打开 django 表单,提交表单后我将其重定向到不同的 View 。重定向的 URL 不是在浏览器中重定向,而是在浏览器控制台中打印。 我的返回语句是return H
我有一个添加和编辑 Meeting 对象的 View ,并且我将在保存 Meeting 对象后显示该对象的参与者列表,我该如何使用 HttpResponseRedirect 返回参与者列表?我认为不可
基本上,我试图将未登录的人重定向到登录页面。 我目前使用的是: return render_to_response('login.html', context_instance=RequestCont
我是 Python/Django 和整体编程的新手。我需要有关 HttpResponseRedirect 的帮助,因为它在我的登录 View 中不起作用。它确实适用于我的主视图文件,但不是我想要的方式
我正在用 Django 教程做 Tango,我已经成功地完成了教程,但是我在 official Django Polls tutorial 中注意到,以下内容: def vote(request, q
我有这个设置 session 变量的重定向 View 。但就好像 session 是flush ed 在被重定向到的 View 被调用之前,因为整个 session 在那里是空的。 (顺便说一句,这是
所以这不会太难,但我无法弄清楚...... 我希望我在 django 中的表单(位于 /file_upload/ )上传文件,将其添加到数据库,然后重定向到一个新页面,其中参数是我所拥有的字段的 id
Django 1.9.6 我想编写一些单元测试来检查重定向。 你能帮我理解我在这里做错了什么吗? 先感谢您。 考试: from django.test import TestCase from dja
我是一名优秀的程序员,十分优秀!