为什么在覆盖 django 管理模板时不更改显示?

why not change display when override django admin template?

我按照this doc修改了base_site.html模板,但是没有effect.here代码:

项目结构:

-myproject
  -myproject
    settings.py
    urls.py
    wsgi.py
  -myapp1
  -myapp2
  -templates
    -admin
      base_site.html

setttings.py:

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',
            ],
        },
    }
]
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader'
)

base_site.html

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

{% block title %}custom title{% endblock %}

{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">MY custom website name</a></h1>
{% endblock %}

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

完成后,刷新页面,标题和网站名称没有改变,谁能帮帮我?

试试这个来覆盖 base_site.html

项目结构(和你的一样)

-myproject
  -myproject
    settings.py
    urls.py
    wsgi.py
  -myapp1
  -myapp2
  -templates
    -admin
      base_site.html

在settings.py

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates'),)

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader'
)

base_site.html(和你的一样)

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

{% block title %}custom title{% endblock %}

{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">MY custom website      name</a></h1>
{% endblock %}

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

不需要 TEMPLATES=[],因为您 defined.I 认为它用于 specific 个应用程序。