Джанго-админ с вызываемыми функциями - PullRequest
1 голос
/ 27 января 2011

Представление Django-admin позволяет только изменять значения объектов модели.Однако можно ли легко настроить или изменить представление администратора, чтобы оно начало предоставлять функции объектам?Я не говорю о функциях, которые можно ввести в раскрывающемся меню в верхней части списка объектов.Что я имею в виду под прямым доступом к функциям на модельных объектах?

1 Ответ

1 голос
/ 06 июня 2011

Вы можете добавить свой собственный вид на сайт администратора, добавив URL «^ admin / ...» в свой URL-адрес.Вы можете использовать это, чтобы относительно легко расширить админский сайт и представить методы модели через ваше собственное представление.См. Creating Custom Admin Views здесь: http://www.djangobook.com/en/1.0/chapter17/ (и другой подход и примечания здесь: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-views-to-admin-sites).

Чтобы добавить это в качестве кнопки в «форму изменения» модели в админкеsite, переопределите шаблон change_form.html для требуемых моделей (см. https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates).

Возможно, вы захотите переопределить блок object-tools, который содержит кнопки в верхней правой частистраница.(В Django 1.3 вместо этого вы можете расширить блок object-tools-items, см .: https://code.djangoproject.com/ticket/12694)

(я совершенно уверен, что можно создать хороший плагин / приложение, которое автоматически добавляет объект-инструментык модели из пользовательского свойства "object_tools" в ModelAdmin со списком методов модели. Дайте мне знать, если вы найдете что-то вроде этого.)

...