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
目录改为变量?此结构使我在覆盖默认登录系统的注册
目录中遇到问题: