WSGI + Werkzeugアプリケーションでビューの "login_required"デコレータを記述しようとしています。Python - デコレータの元の関数引数を取得
これを行うには、ユーザーのセッションにアクセスする必要があります。このセッションは、ビューメソッドに渡されるRequestオブジェクトからアクセスできます。
デコレータのRequestのインスタンスを取得する方法がわかりません。私はPEP318、特に4番目の例を見ましたが、私はそれを得ていません。
def login_required(*args, **kw):
def goto_login(**kw):
return redirect(url_for('login'))
def decorate(f):
# args[0] should be request
args[0].client_session['test'] = True
logged_in = 0
if logged_in:
return f
else:
return goto_login
return decorate
@login_required()
@expose('/hello/<string:name>')
def hello(request, name):
return render_template('say_hello.html', name=name)
が、私はargs[0]
を呼び出そうと境界エラーのうちのインデックスを取得:
は、ここで私がしようとしているものです。
"login_required"デコレータの "hello"関数に渡されたリクエスト引数にアクセスできる方法はありますか?
パーフェクト:
だからあなたがする必要があるすべてはチェックです!私は "公開"デコレータで使用された別の構文を使用していました - 私は代替構文を理解しているか分からない。 – ashgromnies