为django中的不同用户类型分别设置'admin'接口

Pet*_*ton 5 django django-models django-admin django-inheritance django-users

我最近正在尝试创建一个涉及多个级别用户的项目.

(只是缩写和粗略模式的一个例子)

  • 我(超级用户)
    • 客户端(S)
      • 客户(S)
      • 调查收集
        • SurveyUser(s)
          • 受邀者(S)
        • 调查
          • 受邀者(S)(受邀者既调查和用户的孩子)
        • 问题
        • 等等

我理想情况下:

  • www.example.com/client/转到您必须是客户端才能访问的客户端界面
  • www.example.com/customer/转到您必须是客户访问的客户界面

我已经确定使用自定义的Django管理界面可能不可能(或者是吗?).因此,我倾向于为每个级别的用户手动创建"管理"界面,允许他们管理各自的角色.为每个用户提供不同的用户类型和单独的界面的最佳方法是什么?

我喜欢继承用户的方式:http: //scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/

但我不确定如何为不同的用户设置不同的"管理员"区域.

作为一个相关的副问题,我也不确定如何访问自定义属性以及标准用户属性,以及如何在我将使用的ACTUAL管理界面中编辑/保存它们.

我需要针对客户端数据库对"客户端"用户进行身份验证,以检查它们是否为客户端,但也会以某种方式对管理身份验证,用户名,密码等的用户数据库进行身份验证.

我正在从PHP切换到Python/Django所以任何建议都非常感谢帮助我.

谢谢!

Pet*_*ton 2

我最接近这一点是基于另一篇 stackoverflow 文章:How to have 2 different admin site in a Django project?

我最终创建了两个完全独立的 django.contrib.admin.sites.AdminSite 实例,尽管并不理想,但它最终似乎有效。