繁体   English   中英

装饰器:如何获取原始函数变量

[英]Decorator: How to get original function variables

给定以下视图功能:

@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

取决于该函数是称为validate_user(req)还是validate_user(request=req) ,它将分别位于argskwargs 在以下两种情况下,以下行将确保将参数(或None )分配给request

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM