【问题标题】:How to implement a client admin in Django?如何在 Django 中实现客户端管理?
【发布时间】:2010-01-31 13:32:52
【问题描述】:

我正在构建一个简单的应用程序,一种项目/任务管理器,我可以在其中拥有多个项目和分配给一个项目的多个任务。

我为所有这类任务启用了 Django 管理员,它的工作就像一个魅力。另外,我有一些用户分配了项目。所以我现在想要的是为这些用户启用精简版的管理员,其中:

  • 他们只能管理/查看自己项目中的任务。
  • 他们只能删除自己的任务
  • 其他一些小限制。

最好的方法是什么?我应该为客户端编辑任务创建另一个具有自定义视图和页面的应用程序,还是应该删除另一个管理实例并仅为它们进行微调?

我希望它是清楚的,而不是太主观。谢谢。

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    +1 对于自定义应用程序,黑客管理员可能需要更多时间,而不仅仅是从通用视图中组合您自己的管理员。

    【讨论】:

      【解决方案2】:

      我认为,无论哪种方式,最好的方法都是以某种方式实现行级权限。
      目前,最好的解决方案可能是使用django-granular-permissions

      与 Dmitry 一样,我也支持自定义应用程序。使用通用视图,modelforms 等可能会比修改管理应用程序(这并不是真正为黑客攻击而设计)减少工作量。

      此外,如果您着眼于未来,如果需要一些更复杂的功能/限制,您将遇到更少的问题。

      【讨论】:

      • django-authority 看起来也是行级权限的不错选择:它由 Django 核心开发人员 Jannis Leidel 编写。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 2011-07-04
      • 2016-12-29
      • 1970-01-01
      相关资源
      最近更新 更多