29๐
โ
@method_decorator
takes a function as parameter. If you want to pass a decorator with parameters, you only need to:
- Evaluate the parameters in the decorator-creator function.
- Pass the evaluated value to
@method_decorator
.
In explicit Python code this would be:
decorator = mydecorator(arg1, arg2, arg...)
method_dec = method_decorator(decorator)
class MyClass(View):
@method_dec
def my_view(request):
...
So, using the syntactic sugar completely:
class MyClass(View):
@method_decorator(mydecorator(arg1, arg2, arg...))
def my_view(request):
...
๐คLuis Masuelli
Source:stackexchange.com