how to create decorator function in django
from django.http import HttpResponseForbidden
def user_is_admin(view_func):
def wrapper(request, args, *kwargs):
if request.user.is_admin:
return view_func(request, args, *kwargs)
else:
return HttpResponseForbidden("You don't have permission to access this page.")
return wrapper
Usage:
from django.shortcuts import render
from .decorators import user_is_admin
@user_is_admin
def admin_dashboard(request):
return render(request, 'admin_dashboard.html')