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

Django在扩展时无法区分模板目录,django,django-templates,Django,Django Templates,我有两个应用程序,包括adminApp和mobileApp。两者都有自己的模板目录,并且完全分开。不幸的是,django在我使用extend时一直在查找错误的目录,它根据安装的应用程序中的顺序查找第一个模板目录: TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', ) INSTALLED_APPS =

我有两个应用程序,包括
adminApp
mobileApp
。两者都有自己的模板目录,并且完全分开。不幸的是,django在我使用
extend
时一直在查找错误的目录,它根据
安装的应用程序中的顺序查找第一个模板目录:

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
而不是它自己的文件


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

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

adminApp/
    templates/
        adminApp/
            base.html

mobileApp/
    templates/
        mobileApp/
            base.html
然后,您可以明确指定要扩展的模板:

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

是否有可能将此
mobileApp
目录改为变量?此结构使我在覆盖默认登录系统的
注册
目录中遇到问题: