2016-01-13 203 views
6

我正在使用Django1.9 &試圖覆蓋管理界面。django 1.9 +自定義管理界面

我提到下面的鏈接重寫管理報頭

http://stackoverflow.com/questions/4938491/django-admin-change-header-django-administration-text 

如後所述,我的目錄/文件結構是 SRC->模板 - >管理 - > 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中配置管理標頭,但這不是我要找的。我的長期目標是配置整個管理界面。所以請解釋我如何讓這個自定義模板頁面被調用。

這裏是我的模板設置:

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' 
      ] 
     }, 
    }, 
] 

感謝 Aniruddha

+0

你應該遵循1.9版本指導原則,上面是1.7以上的版本。請參閱https://docs.djangoproject.com/es/1.9/ref/contrib/admin/#overriding-admin-templates – Anil

回答

5

配置項目的管理模板目錄contrib/admin/templates/admin目錄。

For override - 在templates目錄中創建customadmin目錄。

  • 您還可以自定義 '裝載機' 選項,通過添加 'django.template.loaders.filesystem.Loader'(必須在之前寫)
  • 'django.template.loaders.app_directories.Loader'。

這會在默認情況下加載自定義模板。

在customadmin中創建目錄,並將這些目錄命名爲app,如果您想覆蓋app。

在上述子目錄中,爲模型創建目錄並將其命名爲模型,以覆蓋模型。

在所需目錄中創建您的自定義擴展模板(大多數情況下爲html文件)。

恭喜。你已經擴展了默認提供的管理員。

+0

如何配置項目的管理模板目錄? –