Думаю, я бы добавил более свежую справочную информацию по этому старому вопросу, поскольку он все еще просматривается и активен, и я нахожу, что документы в подавляющем большинстве случаев тщательными.
Подкласс AdminSite для переименования переменных шаблона
myapp/admin.py
from django.contrib.admin import AdminSite
from .models import MyModel
class MyAdminSite(AdminSite):
# this is the variable you asked about
site_header = 'Monty Python administration'
admin_site = MyAdminSite(name='myadmin')
admin_site.register(MyModel)
myproject/urls.py
from django.conf.urls import url
from myapp.admin import admin_site
urlpatterns = [
url(r'^myadmin/', admin_site.urls),
]
Ссылка: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#customizing-adminsite
Свойства , которые вы можете настроить на своем сайте admin_site:
site_header, site_title, site_url, index_title, index_template,
app_index_template, empty_value_display, login_template, login_form,
logout_template, password_change_template, password_change_done_template
Расширение шаблонов администратора
Кроме того, вы можете расширить стандартные шаблоны администратора:
{% extends "admin/change_form.html" %}
{% block object-tools-items %}
<p>
Let's nuke this block and add custom content!
The rest of the default change_form template remains the same.
</p>
{% endblock %}
Ссылка: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates
Другим примером этого является добавление пользовательской таблицы стилей:
{% extends "admin/base.html" %}
{% load static %}
{% block extrahead %}
<link rel="stylesheet" href="{% static "my-app/admin-custom.css" %}">
{% endblock %}
Здесь показано переопределение для всех экземпляров change_form, но вы также можете переопределить шаблоны в отдельных классах ModelAdmin, TabularInline и т. Д.
В django-admin происходит наследование, поэтому установка Django Debug Toolbar очень полезна для определения того, что нужно расширять (и где ваше переопределение должно быть помещено в каталог шаблонов).