姜戈:在 contrib.admin 之外实施 CRUD 的最佳实践
-
22-07-2019 - |
题
我目前正在使用 Post 模型开发一个博客项目,该项目将由多个作者使用。
我想创建一个管理/控制面板界面,帖子的每个作者都可以查看作者创建的帖子列表(这样他就看不到其他作者创建的帖子)、编辑和多次删除它们。
Django管理员不适用于单个用户配置文件,每个用户都可以看到和编辑所有其他用户配置文件。这更适合必须一次管理所有用户的管理员。
这意味着应该在 contrib.admin 界面之外创建一个新的 CRUD 系统。那么问题是,是否有任何现有的技术/方法可以在 contrib.admin 系统之外实现 CRUD?或者,我需要学习/使用什么?我怎样才能很好地实现它(最小的努力)?
提前致谢 :)
解决方案
通过调整 Django 管理可以很容易地做到这一点。如果这是放弃 contrib.admin 的唯一原因,那么你可能需要在 google 上搜索一些最近关于自定义管理的文章,然后再继续把孩子和洗澡水一起倒掉。
我找到了一些可能的候选人:
- http://patrickbeeson.com/blog/2008/aug/11/how-create-user-specific-admin-Django/
- http://www.djangosnippets.org/snippets/1054/
一般来说: http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html
(请注意,有一种旧技术使用线程本地黑客。这不再是必要的,因为有更好的方法可以做到这一点。提及这一点就明确表明该文章已过时。)
其他提示
您会希望看的 Django的通用创建/更新形式的。这不是管理员,但它是非常容易实现。
检查本申请中: https://github.com/05bit/django-smarter 。
这不是有据可查的,但我已经把它用在了几个项目。
在的Django 1.3中,“通用视图”(CRUD形式)已经改变为类为主。请参阅此处。
不隶属于 StackOverflow