ホームページ  >  記事  >  バックエンド開発  >  Django ミドルウェアにインターセプターを実装する方法

Django ミドルウェアにインターセプターを実装する方法

不言
不言オリジナル
2018-06-02 14:28:213013ブラウズ

この記事では、主に Django ミドルウェアでインターセプターを実装する方法を紹介します。これは、必要な友達に参考にしてもらいたいと思います。リクエストは処理のためにアクションに渡される前に、まずインターセプターで処理され、処理後にアクションに渡されます。

Django で同じ効果を実現するにはどうすればよいですか?

2.Django ミドルウェア

これは私のプロジェクトのディレクトリ構造です。

まず、app ディレクトリ (つまり、私のプロジェクトの Web ディレクトリ) に middleware.py という名前の新しいファイルを作成します

その中に次のコードを追加します:

try:
from django.utils.deprecation import MiddlewareMixin # Django 1.10.x
except ImportError:
MiddlewareMixin = object # Django 1.4.x - Django 1.9.x
class SimpleMiddleware(MiddlewareMixin):
def process_request(self, request):
return None
def process_response(self, request, response):
return response

Processed process_request リクエストでは、process_response が応答を処理します。

process_request メソッドでは、戻り値が HttpResponse 型のオブジェクトの場合、通常のコントローラーには渡されて処理されず、ブラウザに直接返されます。戻り値が None の場合は、リクエストが渡されます。通常のコントローラーに転送して処理します。

settings.py ファイルのミドルウェア構成で作成したばかりのミドルウェア。

これでミドルウェアをインターセプターとして使用する作業構成が完了しました。

関連する推奨事項:

Django ミドルウェアからリクエストを直接返す方法


以上がDjango ミドルウェアにインターセプターを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。