Одновременное использование Django-admin и пользовательского администратора - PullRequest
1 голос
/ 29 сентября 2010

Я создаю веб-сайт на Django, который будет иметь множество приложений (блог, магазин, портфолио и т. Д.), Которые будут редактироваться 5 или около того людьми, и я до сих пор проектировал все с администратором Django вразум.

Я пришел к выводу, что это очень плохое мышление - как на самом деле - администратор Django должен быть действительно только для администраторов высшего уровня и должен использоваться именно для этого:администрирование сайта, не способствуя этому.

Я выписал набор функций и понял, что количество приложений, которые должен иметь весь сайт (карты сайта, почтовые программы, контактные формы, комментарии, теги и т. Д.), Намного больше, чем число функций, которые должен иметь редакториметь доступ к (действия CRUD для блога / о разделе и т. д.).

Лучше практиковать создание администратора Django на основе сложных разрешений или создание второго пользовательского администратора "редакторов" для одновременной работы.

Я думаю, что это то, что следует обсудить в документации, так как до того, как я понял это, у меня было много проблем с пониманием, как разбить сайт на приложения, так как я проектировал все с администратором вразум (и что должен видеть настоящий админ в админе)

Ответы [ 2 ]

3 голосов
/ 29 сентября 2010

Я бы сказал, что вы должны создать отдельное "разнородное" приложение администратора.Вот плюсы и минусы, которые я вижу:

Плюсы:

  1. Нет необходимости вмешиваться в администрирование или использовать хаки для получения определенных функций,Я подозреваю, что вам понадобится несколько таких, учитывая ваши требования.

  2. Отсоединение от Admin.Хотя Admin очень полезен, плохо связывать ваше приложение с ним.Тем более, если вы его настраиваете.Вам придется следить за любыми изменениями в Admin, которые могут сломать ваше приложение.

  3. Пользовательские стили.Я предполагаю, что визуальная привлекательность может быть не в вашем списке, но стилизовать ваши приложения гораздо проще, чем приложение Admin.

  4. Отделить действительно супер пользователей от "линейных администраторов".Пусть только опытные пользователи увидят настоящие внутренности вашей системы.

Минусы:

  1. Вы бы заново изобрели колесо.Общие представления делают это проще, но вы все равно будете дублировать функции или наборы функций.

  2. Тестирование.Приложение Admin широко используется и довольно хорошо протестировано.Вы можете использовать его без написания каких-либо модульных тестов (по большей части).Если вы создадите свой собственный, вам придется построить обширный набор тестов вокруг него.

0 голосов
/ 29 сентября 2010

Это вопрос мнения, я думаю.Но лично я предпочитаю создать отдельного администратора и связать с ним группу пользователей, а не использовать главного администратора для обоих.

Таким образом, вы можете легко увидеть, как все выглядит для других пользователей, когда есть проблема.Однако все зависит от вашей ситуации, поэтому YMMV

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...