djangoのミドルウェアってなんなんだ。って思った。
とりあえず書いてみた。
こんな感じ。
class MyLoggingMiddleware(object): def __init__(self, get_responce): self.get_responce = get_responce print("MyLogging Middleware init") def __call__(self, request): print("pre-call:{}".format(request)) responce = self.get_responce(request) print("post-call:{}".format(request)) return responce
ここを参考にした。
Middleware | Django documentation | Django
なんとなく、書いてみたら雰囲気分かった。
python manage.py runserver
で動作を確かめた。
よく分かってないけど、 __init__
が2回呼ばれてる様子だって、それの理由はよく分かってないけど、とりあえず、 __call__
の雰囲気はわかった
ソースはgithubにおいた。