2014-09-27 55 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