我想爲我的一些Django頁面返回410個錯誤,而不是返回404s。基本上,而不是打電話raise Http404('some error message')
,我想改爲撥打raise Http410('some error message')
快捷方式。如何在Django中引發410錯誤
我很困惑,因爲在django.http,功能HTTP404很簡單:
class Http404(Exception):
pass
所以,如果我做同樣的事情,創造我的Http410的功能,我相信它會看起來像:
class Http410(Exception):
pass
但是,這樣做會返回異常,但會提供500錯誤頁面。我如何重新創建Http404異常的魔力?我應該注意到,我需要從我的模型(而不是視圖)中引發異常,所以我不能只返回一個HttpResponseGone。
在此先感謝!
更新: 我完全知道HttpResponseGone並在我的原始問題中提到了這一點。我已經知道如何在我的意見中回覆這個問題。我的問題是:你如何引發Http 410異常,類似於你如何引發Http 404異常?我希望能夠在任何地方提出這種例外情況,而不僅僅是我的觀點。謝謝!
完美。謝謝! – Spike 2010-11-18 01:49:17
另外,感謝您的評論,關於如何去應該是正常的工作流程,而不是錯誤的情況。我會牢記這一點。 – Spike 2010-11-18 01:51:01
@Spike爲什麼你不能只返回一個'HttpResponseGone'對象而不是引發異常並讓中間件注入對象? – Santa 2010-11-18 08:08:28