我没有使用Django内置的管理面板作为管理员页面,但我正在尝试添加像django-admin一样的功能。我想要限制普通用户访问管理员应用程序,为此我在每个想要进行限制的函数中检查是否是超级用户,如 if not request.user.is_superuser
。它很有效果,但在应用程序中可能有很多函数,我必须在应用程序中的每个函数中都进行检查,我认为这不是一个好的解决方案。所以是否有任何解决方案,可以只给超级用户访问整个管理员功能,而无需在管理员应用程序中的每个函数中检查用户是否是超级用户?
views.py
def a(request):
if not request.user.is_superuser:
return redirect('login')
..........
def b(request):
if not request.user.is_superuser:
return redirect('login')
.............
def c(request):
if not request.user.is_superuser:
return redirect('login')
...........
def d(request):
if not request.user.is_superuser:
return redirect('login')
....
user_passes_test
功能。代码可以在Django的GitHub存储库中找到。 - anjaneyulubatta505