今日は Middleware です。 役割 ミドルウェアと言っても、Apache とか Tomcat とか、Oracleとかとは位置づけが異なっていて、Djangoのミドルウェアというと、拡張ポイントのことを指しています。どの位置の拡張ポイントかというと、views.pyに処理が到達する以前の拡張ポイントです。JavaServlet APIで言うところの Filterの役割です。 実装方法 ミドルウェアは Context Processorとは違い、関数ではなくクラスで定義します。また、クラスの中の関数名と引数が次のように決められています。 process_request(self, request) クライアントからアクセスがあって、URL から urls.py に定義された関数へのマッピングが行われる前に呼び出されます。つまり最前衛の関数。 型が無いのでわかりにくいですが、この関数は処