Вы прочитали административный сайт документы. Это длинный документ, но два основных способа добавления пользовательских функций - через пользовательские URL-адреса и измененные стандартные представления в ваших собственных объектах AdminSite
и ModelAdmin
. Как только вы подключите их, и URL-адреса будут сопоставлены, это похоже на создание любого другого приложения Django, только шаблоны не ваши, поэтому ими сложно управлять, и к ним нужно привыкнуть. Но это позволяет вам выполнять дополнительную гимнастику, такую как добавление мастера форм на сайт администратора или разбиение всего на несколько форм и отображение их в одном элементе HTML form
в шаблонах, выполняя пользовательскую обработку GET
/ POST
запросов и т. Д.
Я использовал его в прошлом для создания представлений для отображения пользовательских отчетов и создания пользовательских сценариев редактирования для персонала. Мое мнение, что вы должны поцеловать как можно больше. Сайт администратора - это все о общих взглядах и общих представлениях. Расширяйте, но будьте осторожны, если вы переопределяете блоки шаблона и дважды подумаете, прежде чем переопределять то, что не заключено в блок. Некоторые функции сайта администратора имеют определенные предположения о представлении, а клиентское приложение JS, поставляемое с Django, тоже делает некоторые из них (это то, что я понял при работе с добавлением динамических встроенных моделей в обратном направлении), так что было бы довольно сложно, если бы нравится снимать совершенно другую презентацию.
Ответ в любом случае - ДА! Администратор сайта предоставит вам больше возможностей для интерактивного управления данными модели. Я не знаю, насколько вам нужно настраивать администратора, но есть CMS, специализированные приложения администратора и приложения, интегрированные с администратором, которые действительно открывают глаза. Django CMS , как я вспомнил, был оценен как лучший Django CMS с открытым исходным кодом, и из того, что я вижу, он выводит свои собственные представления изменений / списка. Rosetta - это приложение только для сайтов администраторов, которое позволяет редактировать файлы переводов в интерактивном режиме и имеет исчерпывающий интерфейс администратора! Если вы ходите по магазинам на bitbucket и github, вы найдете еще много примеров, это должно помочь вам лучше понять, сколько усилий вам понадобится.