Django has PermissionRequiredMixin which can be derived for each View. PermissionRequired mixin has class property "permission_required". So you can individually define required permission for each view. Also you can tie users to permission groups and assign multiple permissions for each group.
https://docs.djangoproject.com/en/5.2/topics/auth/default/#the-permissionrequiredmixin-mixin
https://docs.djangoproject.com/en/5.2/topics/auth/default/#groups