我試圖重寫django-profiles中的一個url來提高404而不是傳遞給視圖。在URL模式中提高Http404
我要找的線沿線的東西:
url(r'^profiles/$', lamdba x: raise Http404)
但上面不起作用。這種事情可能嗎?
我知道我可以編寫一個引發404的新視圖,但我寧願不能直接在url模式下執行它。
編輯:具體來說,我得到invalid syntax (urls.py, line 29)
與上面的例子。
我試圖重寫django-profiles中的一個url來提高404而不是傳遞給視圖。在URL模式中提高Http404
我要找的線沿線的東西:
url(r'^profiles/$', lamdba x: raise Http404)
但上面不起作用。這種事情可能嗎?
我知道我可以編寫一個引發404的新視圖,但我寧願不能直接在url模式下執行它。
編輯:具體來說,我得到invalid syntax (urls.py, line 29)
與上面的例子。
工作示例..
在你的urls.py添加:
from django.views.defaults import page_not_found
urlpatterns = patterns('',
url(r'^profiles/$', page_not_found),
)
從Django 1.9開始,page_not_found
視圖現在 「接受第二個參數,觸發錯誤例外。」所以上面Christoffer提出的解決方案需要一些小的改變:
from django.views.defaults import page_not_found
urlpatterns = patterns('',
url(r'^profiles/$', page_not_found, {'exception': Exception('Not Found')}),
)
希望這有助於。
您可以使用`django.http.Http404`異常來改善您的解決方案,而不是通用的`Exception` – mrnfrancesco 2017-06-14 12:08:47
這就是我正在尋找,謝謝。 – 2011-12-15 00:02:09