Django AdminSite - сложная или простая реализация? - PullRequest
0 голосов
/ 24 ноября 2010

Кто-нибудь реализовал свой собственный AdminSite? Насколько простым / сложным была базовая реализация?

Я нахожусь в процессе создания "cms", который будет довольно большим и довольно сложным в некоторых областях, и мне интересно, сэкономит ли время что-то вроде AdminSite. Я бы предпочел не делать свою собственную реализацию для действий администратора и встроенных функций и тому подобного (я знаю, что могу просто использовать встроенные формы, но это не так просто, как inlines = [Foo]).

При использовании пользовательского AdminSite дальнейшая настройка эквивалентна настройке стандартного администратора Django?

Ответы [ 3 ]

2 голосов
/ 25 ноября 2010

Вы прочитали административный сайт документы. Это длинный документ, но два основных способа добавления пользовательских функций - через пользовательские URL-адреса и измененные стандартные представления в ваших собственных объектах AdminSite и ModelAdmin. Как только вы подключите их, и URL-адреса будут сопоставлены, это похоже на создание любого другого приложения Django, только шаблоны не ваши, поэтому ими сложно управлять, и к ним нужно привыкнуть. Но это позволяет вам выполнять дополнительную гимнастику, такую ​​как добавление мастера форм на сайт администратора или разбиение всего на несколько форм и отображение их в одном элементе HTML form в шаблонах, выполняя пользовательскую обработку GET / POST запросов и т. Д.

Я использовал его в прошлом для создания представлений для отображения пользовательских отчетов и создания пользовательских сценариев редактирования для персонала. Мое мнение, что вы должны поцеловать как можно больше. Сайт администратора - это все о общих взглядах и общих представлениях. Расширяйте, но будьте осторожны, если вы переопределяете блоки шаблона и дважды подумаете, прежде чем переопределять то, что не заключено в блок. Некоторые функции сайта администратора имеют определенные предположения о представлении, а клиентское приложение JS, поставляемое с Django, тоже делает некоторые из них (это то, что я понял при работе с добавлением динамических встроенных моделей в обратном направлении), так что было бы довольно сложно, если бы нравится снимать совершенно другую презентацию.

Ответ в любом случае - ДА! Администратор сайта предоставит вам больше возможностей для интерактивного управления данными модели. Я не знаю, насколько вам нужно настраивать администратора, но есть CMS, специализированные приложения администратора и приложения, интегрированные с администратором, которые действительно открывают глаза. Django CMS , как я вспомнил, был оценен как лучший Django CMS с открытым исходным кодом, и из того, что я вижу, он выводит свои собственные представления изменений / списка. Rosetta - это приложение только для сайтов администраторов, которое позволяет редактировать файлы переводов в интерактивном режиме и имеет исчерпывающий интерфейс администратора! Если вы ходите по магазинам на bitbucket и github, вы найдете еще много примеров, это должно помочь вам лучше понять, сколько усилий вам понадобится.

0 голосов
/ 25 ноября 2010

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

0 голосов
/ 24 ноября 2010

Оба

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

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