django 中不同用户类型的单独“管理”界面

2024-01-01

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

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

  • ME (Super User)
    • Client(s)
      • Customer(s)
      • Survey Collections
        • SurveyUser(s)
          • Invitee(s)
        • Surveys
          • Invitee(s)(受邀者是调查和用户的孩子)
        • 问题
        • Etc

我理想的情况是:

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

我已经确定,为所有这些使用定制的 Django 管理界面可能是不可能的(或者是吗?)。因此,我倾向于为每个级别的用户手动创建“管理”界面,允许他们管理各自的角色。拥有不同用户类型并为每种用户类型提供单独界面的最佳方式是什么?

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

但我不确定如何为不同的用户设置不同的“管理”区域。

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

我需要根据客户端数据库对“客户端”用户进行身份验证,以检查他们是否是客户端,但不知何故也对管理身份验证、用户名、密码等的用户数据库进行身份验证。

我正在从 PHP 切换到 Python/Django,因此非常感谢任何能帮助我的建议。

Thanks!


我最接近的结果是基于另一篇 stackoverflow 文章:如何在 Django 项目中拥有 2 个不同的管理站点? https://stackoverflow.com/questions/3206856/how-to-have-2-different-admin-sites-in-a-django-project

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django 中不同用户类型的单独“管理”界面 的相关文章