7

我正在关注Django 教程的第 2 部分。我正在尝试覆盖管理模板 ( base_site.html)

我将文件django/contrib/admin/templatesmytemplates/admin/base_site.html

我还更新了 settings.py:

#Base Directory
BASE_DIR = os.path.dirname(os.path.abspath(__file__))

#Template directories
TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'mytemplates'),)

我尝试将 mytemplates 文件夹放在项目文件夹的根目录以及 mysite 文件夹中,但没有成功。任何指针都会很棒!

4

4 回答 4

13

编辑了以前的用户响应——这有效:

我认为您到模板目录的相对路径是错误的。

如果您按照以下步骤操作,它应该可以工作:(我自己测试过)

  1. 将目录与文件mytemplates并排放置manage.py

    project
    -app1
    -app2
    -mytemplates
        -admin
            -base_site.html
    -manage.py
    
  2. 将 TEMPLATE_DIRS 更改为:

    TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'mytemplates'),)
    
  3. 确保模板加载器的顺序是:

    TEMPLATE_LOADERS = (
    
        'django.template.loaders.filesystem.Loader',
        'django.template.loaders.app_directories.Loader',
    
    )
    
于 2013-02-07T15:45:23.053 回答
1

@YardenST 的回答几乎对我有用。我想这是配置的问题。

如果您遇到麻烦,我建议您使用此行:

TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'mytemplates'),)

接下来,放置一个断点来显示实际结果,或者使用print TEMPLATE_DIRS.

那是您应该放置要覆盖的模板的地方。

于 2014-07-19T07:16:34.633 回答
1

@kat-russo,谢谢 ;)

我尝试根据文档设置管理模板

project_name
-app1
-app2
-project_name //main folder -> settings.py , urls.py, wsgi.py
-templates
-admin
  -project_name
     base.html

没有成功,但是

 -templates
   -admin
      base.html

为我工作。

我的配置(Django 1.10.4 w/Django CMS 3.4.1)

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',
            'sekizai.context_processors.sekizai',
            'cms.context_processors.cms_settings',
        ],

    },
},
]
于 2016-12-26T17:03:07.683 回答
0

您可以覆盖所有模板。

在模板中创建一个管理目录并添加文件。

所有文件。

https://github.com/django/django/tree/master/django/contrib/admin/templates/admin

于 2016-02-22T22:36:18.930 回答