2014-09-27 53 views
3

理想:用户在URL /entry/1提交与Entry A数据形式,然后在URL /entry/2采取同样的形式,但对于Entry B - 在形式提交给了同样的观点的瞬间我试图重定向到下一个条目。Django的重定向()不工作

问题:重定向根本不起作用,我的观点函数定义为:

def editor(request, entry_id): 

在视图里我处理后的数据,并使用以下行来尝试重定向:

  • redirect('myapp.views.editor', entry_id=next_id)
  • redirect('myapp.views.editor', kwargs={ 'entry_id': next_id })
  • redirect('/entry/{0}'.format(next_id))
  • HttpResponseRedirect('/entry/{0}'.format(next_id))

我知道:

  • redirect快捷的作品在其他视图
  • next_id是正确的,肯定有一个值
  • 的代码在技术上是有效的 - 默默地失败
  • 试图重定向到一个不同的观点无法正常工作或

我思念的东西昭然若揭?

+3

也许你错过了'return'语句? I.e'return HttpResponseRedirect('/ entry/{0}'。format(next_id))' – stalk 2014-09-27 09:19:15

+0

@stalk我不敢相信我错过了!感谢您指出了这一点!如果您想将其添加为答案,我会接受! – 2014-09-27 09:27:18

回答

7

您刚刚错过return声明。所以,添加它:

return HttpResponseRedirect('/entry/{0}'.format(next_id)) 
+0

作为一个补充点,这个“返回”适用于问题中显示的所有尝试。 – Encompass 2017-03-07 15:31:23