urlmiddlewareはあなたではなく、すべての単一の要求にグローバルにミドルウェアを追加するよりも、URLの設定に基づいて、あなたのDjangoプロジェクトでミドルウェアを定義することができますDjangoのアプリです。
なぜでしょうか?
グローバルミドルウェアを追加すると、必ずしも良いことではありません。あなたはそれがあなたのウェブサイト内の特定の領域に有効にする必要があります。サードパーティーのアプリもその後url.pyファイルにそのミドルウェアの定義が含まれており、グローバル設定を変更する必要性を除去することができます。
クイックスタート
urlmiddlewareをインストールします。
urlmiddlewareをインストールピップ
しかし、あなたは、URLベースのミドルウェアを制御する一つのグローバルミドルウェアクラスを登録する必要があります、あなたのインストール済みのアプリケーションに追加する必要はありません。
MIDDLEWARE_CLASSES =(
 #...
 #すべての他のミドルウェアの後urlmiddlewareを追加します。
  'urlmiddleware.URLMiddleware」、
)
通常のURL定義下記のおurl.pyファイル内のプロジェクトにミドルウェアの追加を開始:
middlewarepatternsの=パターン( ''、
  URL(R '^ myappの/'、MyMiddleWareClass)、
)
一般的な例は、URLツリー全体のサブセクションに必要なログインを追加するには、この技術を使用しています。まず、LoginRequiredMiddlewareを作成する必要があります。
django.confインポート設定から
django.contrib.auth.views輸入ログインから
django.httpインポートからHttpResponseRedirect
クラスLoginRequiredMiddleware(オブジェクト):
 デフprocess一(自己、要求):
  login_path =はsettings.LOGIN_URL
  request.path = login_pathとrequest.user.is_anonymous()場合は:
  request.POST場合:
 リターンログイン(リクエスト)
 他:
  HttpResponseRedirect( '%sの次=%sの?'%(login_path、request.path))を返します
その後、あなたのurls.pyファイルの中:
myapp.middleware輸入LoginRequiredMiddlewareから
middlewarepatternsの=パターン( ''、
  URL(R '^アカウント/'、LoginRequiredMiddleware)、
)
完了
この要件:!
このパイソン
ジャンゴ
コメントが見つかりません