如何更改管理模板目录文件夹

时间:2017-01-04 08:53:56

标签: django django-templates django-admin

我在项目的settings.py文件中为DIRS设置中的TEMPLATES设置了地址,并且我将APP_DIRS更改为False

现在,所有模板都会运行,但是当我转到localhost:8000/admin时,会产生一个错误,表示"模板注意到存在"。

  

/ admin /

上的TemplateDoesNotExist      

管理员/ index.html中

我不希望APP_DIRS成为真。 我该如何解决这个问题?

这是设置

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR, 'templates'),
        ],
        'APP_DIRS': False,
        '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',
            ],
        },
    },
]

1 个答案:

答案 0 :(得分:1)

如果您不希望APPS_DIR为TRUE,copy templates of admin app to your template directory。当您将APP_DIR设置为True时,django将检查每个应用程序中名为templates的目录,如果找到则从该目录加载指定的模板。如果找到渲染指定模板,那么django将检查全局模板目录中与app同名的目录。

在您的情况下,APP_DIR设置为False,并且在全局模板文件夹中没有名为admin的目录。因此,从您的虚拟环境的django / contrib / admin /复制模板目录,并将其放在全局模板目录中。我想你的全局模板目录在项目目录中。

os.path.join(BASE_DIR, 'templates'),

HTH:)