2

ビューに使用するデコレータがあります@valid_session

from django.http import Http404

def valid_session(the_func):
"""
function to check if the user has a valid session
"""
def _decorated(*args, **kwargs):        
    if ## check if username is in the request.session:
        raise Http404('not logged in.')
    else:
        return the_func(*args, **kwargs)
return _decorated

デコアーターで自分のセッションにアクセスしたいのですが。ユーザーがログインしたら、セッションにユーザー名を入力します。

4

3 に答える 3

4

次のようなものがあなたの問題を解決しますか:

def valid_session(func):
    def decorated(request, *args, **kwargs):
        print request.session
        return func(request, *args, **kwargs)
    return decorated
于 2010-04-10T14:49:14.493 に答える
1

ビュー関数はリクエストを最初のパラメーターとして受け取るため、デコレーターもそれを最初のパラメーターとして受け取ります。request.session だけでセッションを引き出すことができます。

于 2012-03-17T22:59:42.453 に答える
0

リクエスト(またはセッションのみ)をパラメータとしてデコレータに渡すことができます。どうやってそれを渡すのかわからない。昨夜似たようなものを見つけようとしていた。

于 2010-04-10T14:27:19.100 に答える