同时使用Django管理员和自定义用户特定管理员
我正在创建一个以Django为动力的网站,该网站将有许多应用程序(博客、商店、公文包等),这些应用程序将由5个左右的人编辑,到目前为止,我一直在设计Django管理员的一切同时使用Django管理员和自定义用户特定管理员,django,web-applications,django-admin,crud,Django,Web Applications,Django Admin,Crud,我正在创建一个以Django为动力的网站,该网站将有许多应用程序(博客、商店、公文包等),这些应用程序将由5个左右的人编辑,到目前为止,我一直在设计Django管理员的一切 我逐渐意识到,这是一种非常糟糕的思维方式——事实上——Django管理员应该只为顶级管理员服务,并且应该准确地用于管理网站,而不是为网站贡献力量 我写下了功能集,并意识到整个网站应该拥有的应用程序数量(网站地图、邮件、联系人表单、评论、标签等)远大于编辑应该访问的功能数量(博客/关于部分的CRUD操作等) 构建一个复杂的基于
我逐渐意识到,这是一种非常糟糕的思维方式——事实上——Django管理员应该只为顶级管理员服务,并且应该准确地用于管理网站,而不是为网站贡献力量 我写下了功能集,并意识到整个网站应该拥有的应用程序数量(网站地图、邮件、联系人表单、评论、标签等)远大于编辑应该访问的功能数量(博客/关于部分的CRUD操作等) 构建一个复杂的基于权限的Django管理员,或者构建第二个自定义的“编辑器”管理员以并发运行,这是更好的做法
我认为这应该在文档中讨论,因为在我意识到这一点之前,我在理解如何将网站分解为应用程序时遇到了很多困难,因为我在设计每件事时都考虑到了管理员(以及实际用户应该在管理员中看到什么)我认为这是一个意见问题。但就个人而言,我更喜欢创建一个单独的管理员,并将用户组链接到该管理员组,而不是同时使用主管理员
这样,当出现问题时,您可以很容易地看到其他用户的情况。这一切都取决于你的情况,所以我认为你应该建立一个独立的“多样化”管理应用程序。以下是我看到的优点和缺点: 优点:
赞成。就设计和最佳实践而言,这似乎真的是一个解决方案。对我来说,Django管理员用于后端配置。在我的例子中,最终用户是编辑器,他们应该通过与管理员不同的界面编辑内容。我不会真的认为它重新发明了轮子,尽管我将使用管理界面无论如何,这是一个附加的一个“我已经开始意识到这是一个非常糟糕的思维方式-就像真的——Django管理员应该只针对顶级管理员”——我不得不说,我已经使用Django一段时间了,我不同意这种说法。我认为管理员的编写方式也表明你错了-注意
User
-is_staff
和is_superuser
上的方法-工作人员可以访问管理员,但当他们到达那里时,权限可能非常有限。也就是说,你显然可以自由选择是否使用管理员:)我并不认为管理一个网站和管理一个网站是一样的。我觉得Django admin绝对是一款功能强大、编写精良的应用程序,可以让网站或项目保持顶级运行。但反向工程是允许“员工”进入特定区域的解决方案吗?它们肯定是两个不同的东西吗?AuthApple应用程序与Admin是分开的,我将考虑那些函数(iSuffStand和iSuxUpHealver)作为其他应用程序中使用的建议。我在这里扮演魔鬼代言人