我刚刚开始使用Django进行个人项目.
使用内置管理应用程序与将我的管理功能集成到应用程序本身(通过检查request.user.is_staff)有什么优缺点?
这是一个社区维基,因为它可以被视为民意调查.
并非所有软件都需要左侧"内容制作者"的管理界面和右侧"访问者/成员"的站点.
人们常说"管理员不是你的应用程序"(例如,参见接受的答案(2009年3月)).
我在Django文档中找不到这样的限制.上面似乎有一个潜在的假设 - " 一个强大的,生产就绪的界面,内容制作者可以立即使用它来开始向网站添加内容 " - 但是肯定会预期不同级别的访问,甚至在FAQ中也会提到.还有多个AdminSite实例的其他用例呢?
我目前正在研究一种主要是CRUD接口的软件.每个用户都必须经过身份验证,管理员用户和客户之间的唯一区别是后者只能使用"他们的"对象(并且无法访问某些模型,如"用户"等).顺便说一句,"他们"在我的案例中与谁创造了对象没有关系,而是与"公司"相关联.
有没有令人信服的理由不坚持管理界面,只是配置正确的权限鸡尾酒?ModelAdmin权限可以信任吗?为什么不直接呼叫所有登录用户"员工"?
对于传统的非管理员视图,我看到自己正在重写已经存在的东西:ModelForm是一个不错的开始,但CRUD功能和类型相关的过滤器(包括日期深入分析)不是现成的组件.Admin的功能已经提供了最终用户所需的绝大多数功能,并且字段/过滤器/模板等的自定义足以满足我的需求.显然,在我添加新功能的地方,例如其按钮的可见性和对相应视图的访问需要权限检查.我并不担心.我只是好奇是否在这样的情况下,管理功能被其内置的权限集正确覆盖.有这方面的经验吗?
更新:对不起,这个问题的主要部分似乎不清楚.我并不担心我的自定义,我担心相信现有的管理应用程序及其权限的实现.另见Daniel和FallenAngel的评论.
是否有适用于django admin的现成应用程序,允许在弹出窗口中编辑模型?
我想要下一个功能:
动机:减少页面重新加载.
另外,如果有任何针对django的大量手动数据更新的解决方案?我看了一下django grappelli - 它改善了数据视图,但编辑数据仍然无法使用.
PS:如果没有这样的应用程序 - 我将启动开源项目.