不能访问Admin和自定义Admin的Django用户



我想使用Django用户模型,但我想保留超级用户来管理网站。我希望其他用户无法访问管理界面。但我希望他们能够访问另一个自定义管理页面,处理上传的文件。我已经阅读了很多关于定制用户模型和管理页面的文档,但是我不知道如何完成这样的任务。

我看到我可以子类化用于管理页面的AdminSite并创建我自己的AdminSite,但是这会遇到is_staff等问题。

我的想法是创建一个自定义权限并扩展用户模型来拥有它,这个权限将允许访问管理页面。但是我仍然不确定如何使用我提到的方法创建管理页面,并避免仍然允许他们访问常规管理页面的问题。

实现这一目标的最佳方法是什么?我如何创建这样的管理页面和这样的权限,然后将其分配给扩展用户,并阻止他们访问正常的管理页面?

我熟悉装饰器@user_passes_test()来检查组,但我关心的是确保他们不能进入"较小的"管理面板之外的任何东西。基本上我不希望这些用户能够访问任何东西,除了他们自己的管理仪表板。

任何例子或建议将是最受欢迎的,我需要建议创建这些普通用户的管理页面,如何创建这些普通用户,以及如何确保他们可以访问"较小"的管理页面,而不是正常的django管理员控制一切。

作为一个附带的问题,如果我使用django-suit来定制我的普通管理页面,这会改变什么吗?

谢谢

如果我没理解错的话:

in your views.py

from django.contrib.auth.decorators import permission_required

@permission_required('is_superuser')

这个页面只会看到is_superuser

最新更新