Комментарии 4
@Kisel_nСпасибо, но как-то слабовата статья для такого кричащего заголовка.
Ну, во-первых, потому, что переделывают шаблон, или вообще пишут новый те, кто так и не понял, как работает Админка и как ее на самом деле кастомизуют. Например:
{% block object-tools %} - Он часто используется для добавления других действий над объектом.
На самом деле кастомизовать надо функцию change_list_object_tools, создающую кнопки, которые будут позже отрендерены в блоке, а не чекрыжить шаблон.
Во-вторых важные шаблоны не упомянуты - типа confirmation,html, один из самых используемых, если действия администратора модели (actions) двухшаговые с подтверждением.
В-третьих. Все шаблоны форм просто рендерят переданное содержимое, а вот что передано - настраивается через переопределение работы классов AdminForm, InlineAdminFormSet, ChangeList, ChangeListSearchForm и т.д.
Ну и принцип поиска шаблона - это даже не секрет полишенеля, поскольку отлично описано тут: https://docs.djangoproject.com/en/5.1/ref/contrib/admin/#overriding-admin-templates, где отмечено, что не все шаблоны можно переопределить. Ну переопределить-то можно все, по поморочиться придется. :) Но самое интересное, что у любого ModelAdmin можно просто указать например self.change_list_template = "путь" и это может не работать так, как описано в статье.
Успехов. Могу посоветовать мой цикл из 4х выступлений на PyCons-DjangoCons 2021-2023 "Hidden Gems in Django Admin", где я рассказываю более подробно о настоящей кастомизации Django Admin.
Большое спасибо за конструктивную критику. Согласен, внес правки в статью: добавил небольшой абзац с пояснением для чего мы разбираем шаблоны и дополнил список важных шаблонов confirmation.html.
Думаю здесь стоит уточнить посыл статьи и почему мы вообще говорим про шаблоны.
Основная проблема - тема с кастомизацией достаточно большая, к ней сложно подступиться. Хотелки по кастомизации ведь и правда везде свои. Я к примеру за несколько лет ни разу не изменял confirmation.html :)
В основном (я и сам прошел тот же путь) вижу, что разработчики чаще всего воспринимают страницы админки как черный ящик. "Добавим это сюда, может сработает".
Поэтому решение начать именно с шаблонов кажется наиболее логичным. Есть вот такие страницы, в них есть набор блоков, у этих блоков такие-то функции.
Далее будем учиться настраивать существующими инструментами.Для этого полезно знать, что именно мы вообще настраиваем. Так что впереди еще 2-3 статьи.
Когда заходил думал что немного о другом будет статья. В своих проектах я использую jazzmin
Кастомизация Django Admin. Часть 1: Структура шаблонов