django重定向不重定向
Posted
技术标签:
【中文标题】django重定向不重定向【英文标题】:django redirect not redirecting 【发布时间】:2013-09-11 00:21:42 【问题描述】:我认为有以下表单逻辑:
if request.method == 'POST':
form = MyForm(request.POST, request.FILES)
if form.is_valid():
my_form = form.save() )
print 'before redirect'
redirect('customer:department-edit')
print 'after redirect'
我的网址条目如下所示:
url(r'^departments/$', views.departments_view, name='department-edit'),
我得到以下输出:
before redirect
after redirect
为什么表单提交后不会发生重定向?
【问题讨论】:
【参考方案1】:您似乎忘记在redirect()
之前添加return
语句。
为什么需要 return
?因为redirect
方法只是HttpResponseRedirect
的快捷方式,所以它的行为与任何其他操作一样:它必须返回响应。
所以你的代码应该是这样的:
...
print 'before redirect'
return redirect('customer:department-edit')
print 'after redirect'
...
见Django Documentation example :)
【讨论】:
以上是关于django重定向不重定向的主要内容,如果未能解决你的问题,请参考以下文章
使用 Django 和 AllAuth 登录后不重定向到我自己的视图