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')