1

多くの場合、フォームやユーティリティ関数などでリクエストが必要です...

組み込みの辞書にリクエストを挿入するのは悪い考えですか?

つまり、このようなミドルウェアを実装するのは悪い考えですか?:

import sys
PY3 = False
if sys.version_info.major == 3:
    PY3 = True


class GlobalRequestMiddleware(object):

    def process_request(self, request):
        if PY3:
            import builtins
            builtins.__dict__["request_global"] = request
        else:
            import __builtin__
            __builtin__.__dict__["request_global"] = request

次に、次のように、フォームまたはユーティリティ関数でリクエストを使用できます。

class MyModelForm(forms.ModelForm):

    class Meta:
        model = MyModel

    def save(self, commit=True):
        obj = super(MyModelForm, self).save(commit=False)
        obj.owner = request_global.user
        obj.save()
        return obj

または

def my_func_util():
    if request_global.user.is_anonymous():
        XXX
    else:
        YYY

「常に」は暗黙的よりも明示的であることを理解しています...しかし、それ以上の理由はありますか??

4

1 に答える 1

0

わかりました、これは間違いなく悪い考えです

于 2013-10-14T08:02:31.567 に答える