Подтвердить что ты не робот

Создание всего веб-приложения с помощью django admin

Я думал, что django admin - это утилита для предоставления доверенным администраторам сайта, полный доступ к модели данных сайта.

Однако, после подробного описания django admin, я понимаю, что это очень мощный набор представлений и шаблонов, которые можно использовать для создания всего приложения.

Как часто вы создаете целое приложение, используя только администратора? Легче ли создавать, используя сами представления, чем настраивать администратора так много?

Как насчет создания прототипа с помощью admin. Нужно ли нам даже создавать прототип? Настройка администратора не может быть повторно использована в реальном приложении.

Если я хочу использовать часть кода администратора в реальном приложении (с разными шаблонами), есть ли какая-то опция для подмостей?

4b9b3361

Ответ 1

"Администратор не является вашим приложением".

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

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

Ответ 2

Я уже делал что-то подобное раньше. Это был CMS для университета, полностью реализованного путем расширения Django admin. Оказалось, что это плохое решение. Мне пришлось прыгать через обручи, чтобы что-то сделать.

Это действительно зависит от требований, предъявляемых к вашему приложению. Если должно быть много ajax или какой-то определенный рабочий процесс, расширяющий админ, это будет не то, что нужно делать. Но я думаю, что 60% случаев могут быть покрыты за счет расширения администратора.

Он также отлично подходит для создания прототипов.

ИЗМЕНИТЬ

ОК, это было в 0,96 дня.

До сих пор я создал 2 "больших" сайта, которые находятся в производстве полностью поверх нового администратора. Это в основном управление случаями, ввод данных и отчетность, чтобы они могли быть сжаты в рабочий процесс администратора. Но, не без больших усилий по расширению базового сайта, ModelAdmin, InlineModelAdmin и т.д. Решение о том, чтобы идти этим путем, мы были вынуждены сделать это быстро. Но в первом случае это было прекрасно подходит для требований тоже. Оба работают в интрасети в государственном секторе. Оба делают свою работу отлично. Один из 200 таблиц, обрабатывающих десятки тысяч записей. Другой управляет платежами.

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

Ответ 3

Я не согласен с большинством других ответов.

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

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

Ответ 4

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

Хорошей новостью является то, что следующая стратегия работает хорошо: Переопределите, настройте и подклассифицируйте приложение администратора до тех пор, пока все не начнет чувствовать себя немного болезненным, и в этот момент просто оставьте свои собственные взгляды там, где это необходимо.

Вот некоторые полезные ссылки в моем ответе на этот вопрос

Ответ 5

Короче:

Попробуйте административную часть для ваших нужд. Измените стандартные представления. Если что-то не хватает, вы всегда можете разработать свой собственный вид.

Для меня я не могу представить целое приложение (больше, чем rolodex), основанное только на django-admin.

а.