我的admin / base_site.html没有被django的admin / base_site.html加载或覆盖。请让我知道我错过了什么(我最近开始)
我的模板位于
BASE_DIR /模板/管理/ base_site.html
在设置中
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [
os.path.join(BASE_DIR, "templates"),
],
"APP_DIRS": True,
"OPTIONS": {
'debug': True,
"context_processors": [
"django.contrib.auth.context_processors.auth",
"django.template.context_processors.debug",
"django.template.context_processors.i18n",
"django.template.context_processors.media",
"django.template.context_processors.static",
"django.template.context_processors.tz",
"django.template.context_processors.request",
"django.contrib.messages.context_processors.messages",
"account.context_processors.account",
"pinax_theme_bootstrap.context_processors.theme",
],
},
},
]
编辑:我在我的问题中犯了一个错误,我的模板实际上是在
PROJECT_ROOT /模板/管理/ base_site.html
其中 PROJECT_ROOT 是manage.py的目录。
答案 0 :(得分:0)
确保您的应用程序在您的django django.contrib.admin
的{{3}} settings.py
INSTALLED_APPS
之前宣布
实际上,Django的模板加载器将遍历distinct-values(/Fruit/(
Node1/Childnode1[matches(@skincolor,'yellow','i')],
Node2[matches(@color,'yellow','i')]
)/Fruit/@name)
中的应用,并抓取INSTALLED_APPS中描述的第一个匹配模板。
INSTALLED_APPS的顺序非常重要!例如,如果你想要 要自定义Django管理员,您可以选择覆盖 标准admin / base_site.html模板,来自django.contrib.admin, 在myproject.polls中使用您自己的admin / base_site.html。 那你必须 确保你的myproject.polls出现在django.contrib.admin之前 在INSTALLED_APPS 中,否则将加载django.contrib.admin 首先,你的将被忽略。
答案 1 :(得分:0)
解决方案是将DIRS改为
"DIRS": [
os.path.join(BASE_DIR, "templates"),
os.path.join(PROJECT_ROOT, "templates"),
],
问题出在设置中。
"DIRS": [
os.path.join(BASE_DIR, "templates"),
],
此处 BASE_DIR 是主应用的目录,因此 DIRS 包括 mysite / mysite / templates
我的问题出了问题。我认为BASE_DIR是我项目的目录,因此我的模板位于
BASE_DIR /模板/管理/ base_site.html
但实际上是在
PROJECT_ROOT / templates / admin(其中manage.py是)