How can I write my own decorator in Django?
How can I write my own decorator in Django? My models.py file is as follow: models.py from django.contrib.auth.models import User class Shopkeeper(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True) # ... class Customer(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True) # ... And I have some views which only Customers can access after login, but Shopkeepers cannot. And vice versa. How can I write decorator for such task? 1 Answer 1 There is nothing magical about a decorator, it is a function that takes as input the function (or class) to decorate, and makes some changes to it. If we look at the login_required decorator [GitHub], we see: login_required def login_required(function=None, redirect_field_name=REDIRECT_FIELD_NAME, login_url=None): """ Decorator for views that checks tha...