2016-11-23 8 views
-1

ユーザーから招待状をチェックするカスタムミドルウェアを作成しました。アイデアは、招待されていないユーザーのWebサイトへのアクセスを制限することです。 404やその他の例外が発生したときにユーザーがサイトの一部を見ることができ、私が望んでいないことを除けば、すべてがうまく動作しています。Django 1.9、カスタムミドルウェア+ 404エラー

私はDjango 1.9を使用しています。以前のバージョン(私が覚えているように)には、例外ミドルウェアがありましたが、今は表示されません。私はミドルウェアをスタックの一番上に置こうとしましたが、それは助けになりません。他に何ができますか?

私はミドルウェアを以下している、と言うことができます:

urlpatterns = [ 

    url(r'^403/$', views.handler403, name="403"), 
    url(r'^404/$', views.handler404, name="404"), 
    url(r'^500/$', views.handler500, name="500"), 

] 

ありがとう:ここ

MIDDLEWARE_CLASSES = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'myproject.middleware.InviteLoginForWebsiteMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'django.middleware.locale.LocaleMiddleware', 
] 

はハンドラにリダイレクト私のURLです!

+0

「404が発生したときにユーザーがサイトの一部を見ることができる」とはどういう意味ですか?それはあなたがサイトの一部を404ページに置く場合にのみ起こります。 – RemcoGerlich

+0

私のハンドラは、ウェブサイトのインターフェイスの一部を示すビューにリダイレクトすることを意味します。そして私はインタフェースへのアクセスを完全に制限するミドルウェアを持っていたい。 –

+0

いくつかのコードを表示する必要があります。 –

答えて

0

私はカスタムミドルウェアでprocess_view()ではなくprocess_request()を使用して問題を解決しました。ありがとうございます!

関連する問題