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

4 投票
2 回答
629 浏览
提问于 2025-04-15 18:42

我正在开发一个简单的应用程序,类似于项目/任务管理器,可以管理多个项目和分配给每个项目的多个任务。

我为这些任务启用了Django的管理后台,运行得非常顺利。此外,我还有一些用户,他们有自己的项目。因此,我现在想为这些用户启用一个简化版的管理后台,具体要求是:

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

那么,最好的做法是什么呢?我应该创建一个新的应用,设计自定义的视图和页面让用户编辑任务,还是应该再设置一个管理后台,只为他们进行调整呢?

希望我的描述清楚明了,不会太主观。谢谢。

2 个回答

3

赞同使用自定义应用,自己动手做一个管理后台,可能比单纯修改现成的管理后台要花更多时间,但这样能更符合你的需求。

2

我觉得最好的办法是实现行级权限,也就是说对每一行数据设置不同的访问权限。
目前,最好的解决方案可能是使用django-granular-permissions这个工具。

就像Dmitry说的,我也支持自定义应用。使用通用视图、模型表单等方法,可能比修改管理应用要简单得多,因为管理应用并不是专门为修改而设计的。

另外,如果你考虑到未来,万一需要一些更复杂的功能或限制时,你会遇到更少的问题。

撰写回答