如何在Django中指定模板加载的顺序?

时间:2016-11-25 21:28:31

标签: django templates

所以我将旧项目从Django 1.6升级到1.10,现在所有来自特定目录的模板都不再加载。

这些模板的位置在

/project/templates/userena

这些模板应该覆盖

中userena库附带的模板
/usr/local/bin/python2.7/dist-packages/userena

我已经阅读了关于模板加载的Django文档,但它对我来说根本没有意义。

目前我的settings.py有此

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

为了让Django从/ project / templates / userena加载模板,我需要在settings.py中进行哪些更改?

1 个答案:

答案 0 :(得分:2)

  

Django根据'loaders'选项按顺序使用模板加载器。它使用每个加载器,直到加载器找到匹配项。 (docs)。

所以,是的,订购事宜。