この記事では、主に 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 サイトの他の関連記事を参照してください。