我有一个这样的装置:
def foo_decorator(function):
@wraps(function)
def decorator(*args, **kwargs):
print kwargs
return function(*args, **kwargs)
return decorator
@foo_decorator
def analytics(request, page_id, promotion_id):
pass
输出:
{'promotion_id': u'11','page_id': u'119766481432558'}
为什么我的装饰器没有被传递给它?
请求未作为关键字参数传递。它在
args
,而不是kwargs
。request
不是视图的关键字参数,而是第一个位置参数。您可以通过args[0]
访问它。我建议您将函数签名更改为显式包含
request
:相关问题 更多 >
编程相关推荐