为什么我不能在Django-admin中覆盖默认模板?

时间:2016-02-24 14:11:49

标签: django django-templates django-admin

我正在尝试更改base_site.html以在我的管理网站上拥有自己的品牌。但是,我无法让它发挥作用。我跟着这个tutorial。无论如何,这是步骤:

将DIRS设置添加到 settings.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',

                # `allauth` needs this from django
                'django.template.context_processors.request',
            ],
        },
    },
]

在myapp / templates /中创建了一个名为admin的文件夹,并复制了base_site.html并将其粘贴到那里。 接下来,我修改了 myapp / templates / admin / base_site.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:_('MYBRAND Administration') }}</a></h1>
{% endblock %}

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

我还复制了base.html并将其粘贴到我的管理文件夹中以便进行测量。不过,它没有用:/

我甚至创建了一个文件夹myProject / templates / admin并将2个html文件粘贴在其中,甚至没有任何改变。

我做错了什么?顺便说一下,我正在使用Django-1.9.2。

更新:

我甚至在django / contrib / admin / templates中更改了模板。我知道我不应该这样做,但这只是一个考验。即使这样,改变也行不通。我老实说难过:/任何帮助表示赞赏。可能是Django btw中的一个错误?

1 个答案:

答案 0 :(得分:1)

您需要替换模板base_site.html中的所有文字:

自:

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

要:

{% block branding %}
  <h1 id="site-name"><a href="{% url 'admin:index' %}">Your Site Name Here</a></h1>
{% endblock %}

如果你没有看到这个推荐的名字,你需要尝试清除缓存bowser或重启你的环境

-

看看这个:

enter image description here