0

login_requireddjango ビューの外でデコレータを使用しようとしています。これをユーティリティの関数で使用しています。

@login_required
def somefunc():
    #logic

そして、私はこれsomefunc()を私の見解で呼んでいます

class MyView(View):
    def get(self, request, *args, **kwargs):
         my_func = Somefunc()

これを行うと、object has no attribute 'user' Whats the issue here ?と表示されます。

4

2 に答える 2

1

login_required装飾されたビュー関数の最初の引数としてリクエスト オブジェクトを探しています。request オブジェクトにはuser属性があり、ユーザーが実際にログインしているかどうかがチェックされます。任意の関数をこのデコレータでラップして、実際のビュー関数とまったく同じように動作することを期待することはできません。

于 2015-07-13T07:34:21.937 に答える