如何在Django中实现客户端管理员?

时间:2010-01-31 13:32:53

标签: python django django-admin

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

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

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

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

我希望它清楚而且不太主观。感谢。

2 个答案:

答案 0 :(得分:3)

+1自定义应用,黑客管理员可能需要花费更多时间,而不仅仅是将自己的管理员放在通用视图中。

答案 1 :(得分:2)

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

就像德米特里一样,我也是自定义应用程序。使用通用视图,模型等等可能会导致比修改管理应用程序(这不是真正用于黑客攻击)更少的工作。

另外,如果你关注未来,如果出现一些更复杂的功能/限制的需要,你就会遇到更少的问题。