2014-10-29 44 views
0

考虑以下视图功能:装饰:如何获得原函数变量

@validate_credentials 
def validate_user(request): 
    return HttpResponse('OK') 

我将如何获得在包装中值request.GET中?

def validate_credentials(view_function): 
    def wrapped_view(*args, **kwargs): 
     # request = ? 
     return view_function(*args, **kwargs) 
    return wrapped_view 

回答

2

根据功能是否被称为validate_user(req)validate_user(request=req)这将是argskwargs,分别。以下行将确保参数(或None)分配给request

request = kwargs.get('request', args[0] if args else None)