Как переопределить и расширить базовые шаблоны администратора Django? - PullRequest
105 голосов
/ 05 июля 2011

Как переопределить шаблон администратора (например, admin / index.html), одновременно расширяя его (см. https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template)?

Во-первых, я знаю, что этот вопрос уже задавался и на него давались ответы (см. Django: переопределение и расширение шаблона приложения ), но, как говорится в ответе, он не применим напрямую, если вы используете Загрузчик шаблона app_directories (который используется чаще всего).

Мой текущий обходной путь - делать копии и расширять их, а не распространять непосредственно из шаблонов администратора. Это прекрасно работает, но это действительно сбивает с толку и добавляет дополнительную работу, когда меняются шаблоны администратора.

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

С другой стороны: кто-нибудь знает, будет ли эта проблема решаться самим Джанго?

Ответы [ 11 ]

0 голосов
/ 18 марта 2015

На этом сайте было простое решение, которое работало с моей конфигурацией Django 1.7.

FIRST: Создание символической ссылки с именем admin_src из шаблона / каталога вашего проекта к установленным шаблонам Django.Для меня на Dreamhost с использованием virtualenv мои «исходные» админ-шаблоны Django находились в:

~/virtualenvs/mydomain/lib/python2.7/site-packages/django/contrib/admin/templates/admin

SECOND: Создать каталог admin в шаблонах /

Итак, шаблон / каталог моего проекта теперь выглядел так:

/templates/
   admin
   admin_src -> [to django source]
   base.html
   index.html
   sitemap.xml
   etc...

THIRD: В вашем новом каталоге / admin / каталог создайте base.html файл с таким содержимым:

{% extends "admin_src/base.html" %}

{% block extrahead %}
<link rel='shortcut icon' href='{{ STATIC_URL }}img/favicon-admin.ico' />
{% endblock %}

ЧЕТВЕРТЫЙ: Добавьте ваш admin favicon-admin.ico в вашу статическую корневую папку img.

Готово.Легко.

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