[Django]-Function decorators with parameters on a class based view in Django

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

Leave a comment