Вместо того, чтобы вкладывать шаблоны «на сайт» в структуру каталогов шаблонов, используйте два отличающихся корневых каталога шаблонов, т. Е. Вместо
/templates
/app-one
site1/
index.html
site2/
index.html
вы хотите:
/site1-templates
/app-one
index.html
/site2-templates
/app-one
index.html
Затем в каждом файле настроек (у вас есть отдельные настройки для каждого сайта?), Просто укажите правильный путь для TEMPLATES.DIRS
# site1 settings
TEMPLATES = [{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(PROJECT_ROOT, 'site1-templates'),
],
'OPTIONS': {
# etc
}
}]
Примечание: если вам нужно сохранить некоторые общие шаблоны, вы можетепоместите их в третий каталог (т. е. basetemplates
) и добавьте после пути к сайту в TEMPLATES.DIRS
.
TEMPLATES = [{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(PROJECT_ROOT, 'site1-templates'),
os.path.join(PROJECT_ROOT, 'base-templates'),
],
'OPTIONS': {
# etc
}
}]