2

I have a decorator that I use for my views @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

I would like to access my session in my decoartor. When user is logged in, I put the username in my session.

4

3 回答 3

4

Will something like the following solve your problem:

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 回答