django 1.9 + 自定义管理界面
Posted
技术标签:
【中文标题】django 1.9 + 自定义管理界面【英文标题】:django 1.9 + customizing admin interface 【发布时间】:2016-04-17 20:39:17 【问题描述】:我正在使用 Django1.9 并试图覆盖管理界面。
我参考了以下链接来覆盖管理员标题
http://***.com/questions/4938491/django-admin-change-header-django-administration-text
如帖子中所述,我的目录/文件结构是 src->templates->admin->base_site.html
base_site.html
% extends "admin/base.html" %
% block title %Personal Site% endblock %
% block branding %
<h1 id="site-name"><a href="% url 'admin:index' %">Control Panel</a></h1>
% endblock %
% block nav-global %% endblock %
但是这个页面没有被调用。我复制了 base_site.html 代码 https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/base_site.html
& 更改了标题。
我知道,我可以在 django 中配置管理头,但这不是我要找的。我的长期目标是配置整个管理 UI。所以请解释一下如何让这个自定义模板页面被调用。
这是我的模板设置:
TEMPLATES = [
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR,'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',
],
'loaders':[
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader'
]
,
,
]
谢谢 阿尼鲁达
【问题讨论】:
您应该遵循 1.9 版本指南,以上适用于 1.7 之前的版本。参考docs.djangoproject.com/es/1.9/ref/contrib/admin/… 【参考方案1】: 在contrib/admin/templates/admin
目录配置项目的管理模板目录。
用于覆盖 - 在模板目录中创建一个 customadmin 目录。
您还可以自定义“loaders”选项,添加“django.template.loaders.filesystem.Loader
”(必须写在前面)
'django.template.loaders.app_directories.Loader
'.
这将在默认之前加载自定义模板。
如果您想覆盖应用程序,请在 customadmin 中创建目录并将其命名为应用程序。
在上述子目录中,为模型创建目录并将其命名为模型,以覆盖模型。
在所需目录中创建您的自定义扩展模板(大多数情况下为 html 文件)。
恭喜。您已经扩展了默认提供的管理员。
【讨论】:
如何配置项目的admin模板目录??以上是关于django 1.9 + 自定义管理界面的主要内容,如果未能解决你的问题,请参考以下文章
Django 1.9:为 QuerySet 创建复杂的自定义过滤器方法