【发布时间】:2015-07-16 02:10:13
【问题描述】:
我想使用 Django 用户模型,但我想保留超级用户来管理站点。我希望其他用户无法访问管理界面。但我希望他们能够访问另一个处理上传文件的自定义管理页面。我已经阅读了很多关于自定义用户模型和管理页面的文档,但我无法弄清楚如何完成这样的任务。
我看到我可以将用于管理页面的 AdminSite 子类化并创建我自己的,但这遇到了 is_staff 等问题。
我的想法是创建一个自定义权限并扩展用户模型以拥有它,此权限将允许访问管理页面。但是我仍然不确定如何使用我提到的方法创建管理页面,并避免仍然允许他们访问常规管理页面的问题。
完成此任务的最佳方法是什么?我如何创建这样的管理页面和这样的权限,然后将其分配给扩展用户并阻止他们访问正常的管理页面?
我熟悉装饰器@user_passes_test() 来检查组,但我关心的是确保他们不能进入除“较小”管理面板之外的任何内容。基本上我不希望这些用户能够访问除他们自己的管理仪表板之外的任何内容。
欢迎提供任何示例或建议,我需要有关为这些普通用户创建管理页面、如何创建这些普通用户以及如何确保他们可以访问“较小”管理页面而不是普通用户的建议django 管理员可以控制一切。
作为一个附带问题,如果我使用 django-suit 来自定义我的普通管理页面,这会改变什么吗?
谢谢
【问题讨论】: