扩展时Django无法区分模板目录

时间:2014-01-20 14:51:45

标签: django django-templates

我有两个应用,包括adminAppmobileApp。两者都有自己的模板目录,完全独立。不幸的是,当我例如,django一直在寻找错误的目录。使用extend,它会根据INSTALLED_APPS中的顺序查看第一个模板目录:

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
)

INSTALLED_APPS = (
    ...
    'adminApp',
    'mobileApp',
    ...
)

我的目录结构是:

adminApp/
    templates/
        base.html

mobileApp/
    templates/
        base.html

所以基本上发生的事情是当我有一个mobileApp/templates/pages/index.html{% extends "base.html" %}这样的文件时,它会使用adminApp/templates/base.html而不是自己的{{1}}。

我如何避免这种情况并将它们分开?

1 个答案:

答案 0 :(得分:1)

您的应用不遵循模板目录的Django约定。应重复应用名称以避免此问题:

adminApp/
    templates/
        adminApp/
            base.html

mobileApp/
    templates/
        mobileApp/
            base.html

然后,您可以明确指定要扩展的模板:

{% extends "mobileApp/base.html" %}