Расширение интерфейса администратора в Django - PullRequest
0 голосов
/ 24 апреля 2019

Ниже показанный путь не помог настроить интерфейс администратора

IN settings.py

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "templates"),
]

В корне шаблоны это имя папки там я создал каталог администратора и внутри него base.html

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

{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %}

{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1>
{% endblock %}

{% block nav-global %}{% endblock %}

Так может кто-нибудь предложить. что теперь делать

1 Ответ

0 голосов
/ 24 апреля 2019

Создав <PROJECT_ROOT>/templates/admin/base.html, вы отвергли приложения администратора Django base.html.Но в вашем шаблоне вы расширили, тот же шаблон в вашем.Поскольку это создаст цикл, вы столкнетесь с некоторыми ошибками.

Вместо переопределения admin/base.html, переопределить admin/base_site.html.Я считаю, что это то, что вы хотите.В вашем случае просто переименуйте файл шаблона с base.html на base_site.html и попробуйте.Если вы столкнулись с какими-либо исключениями, отредактируйте ваш вопрос и добавьте полную трассировку стека.

ОБНОВЛЕНИЕ 2

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

Это из одного из моих проектов

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR, 'templates'),
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Насколько я вижу, у вас есть ваша статикафайлы в вашей папке шаблонов.Это неправильно.Вы должны поместить их в отдельную папку и передать их внутрь STATICFILES_DIRS, как вы уже сделали.Тогда ваши статические файлы будут вам доступны.

ПРЕДЛОЖЕНИЕ Предыдущие комментарии решат вашу проблему.Но я хотел бы предложить что-то еще.В Django есть механизм обнаружения и переопределения шаблонов и статических файлов.Ваши статические файлы и шаблоны не привязаны ни к какому приложению в этом решении.Однако иногда это хорошо, чтобы связать их.Таким образом, если вы создаете приложение и внутри этого приложения вы создаете шаблоны и статические папки и помещаете свои шаблоны и статические файлы в эти каталоги, результат будет таким же.В этом случае вам нужно добавить имя вашего приложения в INSTALLED_APPS.

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