我试图覆盖Django的默认模板。现在只需base_site.html。我试图改变文本django管理。
我做了以下事情:
/opt/mydjangoapp/templates/admin
base_site.html
的内容,因此我有标题' 我的App管理员'而不是' Django Administration ' 我的设置文件如下所示:
INSTALLED_APPS = (
'mydjangoapp',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'debug_toolbar',
)
...
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/opt/mydjangoapp/templates/'],
'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',
],
'debug':True,
'loaders': (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader'
),
},
},
]
但不幸的是,Django 1.8版本似乎忽略了我的模板更改并加载了原始模板文件。有关如何覆盖管理员原始布局的任何建议。不记得更改标题只是我想要执行的更改的开始吗?
答案 0 :(得分:2)
首先,确保首先列出您的应用程序,因为Django始终根据settings.INSTALLED_APPS
中的顺序从第一个找到它们的应用程序中获取资源。
在这种情况下,应用程序首先列出,但覆盖不起作用,因为模板放在settings.TEMPLATES['DIRS']
下列出的全局模板目录下,这些目录与任何特定应用程序无关,并且优先级最低。
如果是这种情况,您必须在应用内移动模板文件夹(例如,/opt/mydjangoapp/mydjangoapp/templates/
而非/opt/mydjangoapp/templates/
)并在settings.TEMPLATES['DIRS']
处擦除参考。