Скрыть логотип / имя Django в шапке

Я хочу скрыть / изменить имя, отображаемое в строке заголовка, метка, которую я хочу изменить, это слово "DJANGO", как показано на следующем изображении "

Заголовок с DJANGO слева

6 ответов

Решение

Еще одно решение для настройки заголовка администратора.

Просто скопируйте /django/contrib/admin/templates/admin/base_site.html из исходного кода django ( ссылка здесь) и вставьте его в папку с шаблонами.

Например,

your_project/templates/admin/base_site.html

Теперь вы можете изменить все что угодно в этом шаблоне.

Надеюсь это поможет.

Самый простой способ - просто добавить следующие строки в свой основной urls.py:

admin.site.site_title = 'My Heading'
admin.site.site_header = 'My Heading'
admin.site.index_title = 'My Heading'

Смотрите документацию Django для получения дополнительных атрибутов.

Создать собственный файл шаблона, например:

шаблоны / администратор /base_site.html

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

{% block title %}YOUR WEB TITLE{%  endblock %}

{% block branding %}
<h1 id="site-name">Your Site Name</h1>
{% endblock %}
{% block extrahead %}
    <style type="text/css">
        #header #branding h1{
                background: None;  // here you remove the django image

        }
    </style>
{% endblock %}

Просто поделитесь улучшением с иконкой favicon:

{% extends "admin/base.html" %}
**{% load staticfiles %}**
{% block title %}BROKR System{%  endblock %}
{% block extrahead %}

    **<link rel="shortcut icon" href="{% static 'img/logo1.png' %}"/>**
    {% endblock %}
{% block branding %}
<h1 id="site-name">BROKR System</h1>
{% endblock %}

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

Вам необходимо переопределить шаблоны по умолчанию, предоставляемые Django. В настройках Django ваш параметр code:: TEMPLATES выглядит так.

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    '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',
        ],
    },
},
]

Это означает, что Django будет искать шаблоны в каталоге с именем templates внутри каждого приложения, но вы можете переопределить это, установив значение для TEMPLATES.DIRS.

Мы меняем 'DIRS': [], к 'DIRS': [os.path.join(BASE_DIR, 'templates/')],и создайте папку шаблонов. Если ваш STATICFILES_DIRS пусто, установите его на:

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

Теперь скопируйте base_site.htmlиз приложения администратора в папку templates\admin, которую вы только что создали. Добавьте в него код:

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

{% load staticfiles %}

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

{% block branding %}
<h1 id="site-name">
<a href="{% url 'admin:index' %}">
    <img src="{% static 'umsra_logo.png' %}" height="40px" />
</a>
 </h1>
 {% endblock %}

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

Или для получения подробной информации посетите эту страницу

Или для видеоурока посмотрите это

Вам нужно будет найти свой

      django/contrib/admin/templates/admin/base.html

Это может быть расположено в вашем

      env/lib/site-packages

Таким образом, вы найдете его в

      env/lib/site-packages/django/contrib/admin/templates/admin/base.html

Это если у вас настроена виртуальная среда.

В противном случае он будет находиться в папке вашего базового проекта, содержащей ваши settings.py, wsgi.py и т. д.

В:

      your_base_folder/lib/site-packages/django/contrib/admin/templates/admin/base.html

Затем перейдите к строке 32-34.

      <div id="branding">{% block branding %}{% endblock %}</div>

Замените ниже ваш img или текст или h1

      {% block branding %}{% endblock %}

Например:

      <div id="branding"><img href='example.png'></div>

Или вы можете использовать предпочтительный django

      {{% url (bla.bla bla) %}}
Другие вопросы по тегам