Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

Middleware、view間での値の受け渡し

http://d.hatena.ne.jp/moriyoshi/20070311/1173637586
ほー。なんだかめんどくさそうだな。
要はMiddleware、view間での値の受け渡しがしたいんだけどrequestは上書き禁止だから困ったな的な話なのかな。

1.まずシンプルにsettings.pyに書いちゃう

パラメータのキーも指定できるようにする。

settings.py
AUTH_DIGEST_USER_KEY = 'xxx'
AUTH_DIGEST_PROVIDER_KEY = 'yyyy'
auth.py
    user_key = 'user'
    if settings.AUTH_DIGEST_USER_KEY :
        user_key  = AUTH_DIGEST_USER_KEY
    view_kwargs[user_key= user

好きじゃないね。こーいうの。

2.めんどいのでsessionに放り込む

これはそのまんまなので別にいいや。
これの利点はview_funcの引き数にuser、providerを含めなくて済むこと。
まあ後はkeyだけ1.の方法で柔軟にするとかね。

3.めんどいのでthread_local放り込む

これもそのまんまなので別にいいや。
これも利点はview_funcの引き数にuser、providerを含めなくて済むことぐらい。

4.めんどいのでdecoratorで。

そもそもmiddlewareじゃなくてもいいのかね?
であればdecoratorでいい気もする。
decorator側の引き数にパラメータのキーとか指定できればそれでいいのかな。

うくく。