下面的说明路径没有帮助自定义管理界面
IN settings.py
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "templates"),
]
IN根 模板是文件夹名称 在那里,我创建了一个目录admin,并在其中创建了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 %}
任何人都可以建议。现在该怎么办
答案 0 :(得分:0)
通过创建<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
。