所以我正在尝试为我的 django 视图制作一个装饰器,并且我让它有点工作。装饰器看起来像
# Decorator for the function - update(request, extra=None)
def check_super(view):
def wrapper(request, *args, **kwargs):
status = supercheck(request)
if status=="USER":
raise PermissionDenied
else:
args = [a for a in args]
kwargs = dict((k, v) for k, v in kwargs.items())
kwargs.update({'status':status}) # Offending line
return view(request, *args, **kwargs)
return wrapper
基本上我使用 supercheck 函数进行检查,我想将结果作为另一个参数传递给我的函数,但上述行导致错误
update() got an unexpected keyword argument 'status'
kwargs 只是一本字典,对吧?所以我应该能够像这样向它添加新的绑定,但它一直给我这个错误。这样做也会导致同样的错误
kwargs['status']=status