Django 1.6管理页面覆盖不起作用

时间:2015-07-16 21:00:22

标签: django django-templates django-admin

我们试图覆盖Django 1.6的管理页面,但它继续从django / contrib / templates /...:

获取它

settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [
                [os.path.join(BASE_DIR, 'templates')],
            ],
            'OPTIONS': {
                'context_processors': [
                    # Insert your TEMPLATE_CONTEXT_PROCESSORS here or use this
                    # list if you haven't customized them:
                    '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.contrib.messages.context_processors.messages',
                ],
                'loaders': [
                    # insert your TEMPLATE_LOADERS here
                    'django.template.loaders.filesystem.Loader',
                    'django.template.loaders.app_directories.Loader',
                ]
            },
        },
    ]
]

和文件结构:

project
  project 
    templates
      app_name
      admin 
        file_to_override <--it varies here from being inside the app_name or inside template itself

我不确定为什么这些目录不起作用

1 个答案:

答案 0 :(得分:1)

我不知道你为什么使用Django 1.6,但你引用的TEMPLATES dict语法仅适用于Django 1.8+。在以前的版本中,您需要单独指定所有选项。

另请注意,您错误地用两个列表括号包围了DIRS值。

   TEMPLATE_DIRS = [
        os.path.join(BASE_DIR, 'templates'),
   ]
   TEMPLATE_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.contrib.messages.context_processors.messages',
        ]
        TEMPLATE_LOADERS = [
            # insert your TEMPLATE_LOADERS here
            'django.template.loaders.filesystem.Loader',
            'django.template.loaders.app_directories.Loader',
        ]