Django: лучшая практика для реализации CRUD за пределами contrib.администратор
в настоящее время я разрабатываю проект блога с использованием модели Post, которая будет использоваться несколькими авторами.
Я хочу сделать интерфейс admin/control-panel, где каждый автор сообщения может просматривать список сообщений, созданный автором (чтобы он не видел сообщение, созданное другими авторами), редактировать и многократно удалять их.
допустимый вариант использования для администратора django? говорит, что:
администратор Django не подходит для отдельный пользователь профили, каждый пользователь сможете увидеть и редактировать все другие профили пользователей. Это подходит больше администратору, который должен управляйте всеми пользователями одновременно.
Это означает, что новая система CRUD должна быть создана-вне contrib.интерфейс администратора. Таким образом, вопрос в том, существует ли какая-либо существующая техника/способ реализации CRUD вне contrib.административная система? или, что мне нужно изучить/использовать? как я могу реализовать его красиво (минимум усилие)?
спасибо заранее :)
4 ответов
Это довольно легко сделать, настроив администратора Django. Если это единственная причина для отказа от ВНО.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 generic создание / обновление форм. Это не администратор, но это довольно легко реализовать.
проверьте это приложение:https://github.com/05bit/django-smarter.
Это не хорошо документированы, но я уже использовал его в нескольких проектах.
в Django 1.3 "общие представления" (формы CRUD) изменились на классовые. См.здесь.