我想使用Django用户模型,但我希望让超级用户管理网站。我希望其他用户无法访问管理界面。但我希望他们能够访问另一个处理上传文件的自定义管理页面。我已经阅读了很多关于自定义用户模型和管理页面的文档,但是我无法弄清楚如何完成这样的任务。
我看到我可以将用于管理页面的AdminSite子类化并创建我自己的,但这会遇到is_staff等问题。
我的想法是创建自定义权限并扩展用户模型以获得它,此权限允许访问管理页面。但我仍然不确定如何使用我提到的方法创建管理页面,并避免仍然允许他们访问常规管理页面的问题。
实现这一目标的最佳方法是什么?我如何创建这样的管理页面和这样的权限,然后将其分配给扩展用户,以及阻止他们访问正常的管理页面?
我熟悉装饰器@user_passes_test()来检查组,但我关心的是确保他们不能进入除“较小”管理面板之外的任何东西。基本上我不希望这些用户能够访问除他们自己的管理仪表板之外的任何东西。
任何示例或建议都是最受欢迎的,我需要为这些普通用户创建管理页面的建议,如何创建这些普通用户,以及如何确保他们可以访问“较小”管理页面而不是正常用户控制一切的django管理员。
作为一个附带问题,如果我使用django-suit来自定义我的正常管理页面,这会改变什么吗?
谢谢
答案 0 :(得分:0)
如果我理解正确:
你的views.py中的
from django.contrib.auth.decorators import permission_required
对你的def:
@permission_required('is_superuser')
此页面只会看到is_superuser。