Here I am making a custom decorator with some kwargs parameter but the decorator is not working.
Error:
TypeError: my_decorator() takes 1 positional argument but 2 were given
Code
def my_decorator(title, **data):
def _method_wrapper(view_method):
def _arguments_wrapper(request, *args, **kwargs) :
obj = Model.objects.get(title=title)
if obj.relatedmodel_set.filter(**data).exists():
return view_method(request, *args, **kwargs)
raise PermissionDenied
return _arguments_wrapper
return _method_wrapper
#view
@my_decorator('title', {'is_manager':True})
def my_view(request, id):