2011-12-14 4 views
4

私はdjango-profilesのurlをオーバーライドして、ビューに渡す代わりに404を生成しようとしています。URLパターンでHttp404を生成する

私はの線に沿って何かを探しています:

url(r'^profiles/$', lamdba x: raise Http404) 

しかし、上記では動作しません。この種のことは可能ですか?

私は404ビューを作成する新しいビューを書くことができますが、URLパターンで直接行うことはできません。

編集:特に、上記の例ではinvalid syntax (urls.py, line 29)が得られます。

答えて

2

作業例...

追加:

from django.views.defaults import page_not_found 

urlpatterns = patterns('', 
    url(r'^profiles/$', page_not_found), 
) 
5

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')}), 
) 

希望します。

+1

あなたのソリューションは、一般的な 'Exception'の代わりに' django.http.Http404'例外を使用して改良することができます – mrnfrancesco

関連する問題