だから私は自分のジャンゴビューのデコレータを作ろうとしています. デコレータは次のようになります
# 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
基本的に、スーパーチェック関数でチェックを行い、その結果を別の引数として関数に渡したいのですが、上記の行でエラーが発生します
update() got an unexpected keyword argument 'status'
kwargs はただの辞書ですよね?そのため、そのように新しいバインディングを追加できるはずですが、そのエラーが発生し続けます。この方法でも同じエラーが発生します
kwargs['status']=status