Fix multi-tenant subdomain 404 and Debug Toolbar integration. Set ALLOWED_HOSTS='*', added USE_X_FORWARDED_HOST, and fixed django-tenants middleware order.
This commit is contained in:
@@ -73,6 +73,7 @@ SHARED_APPS = [
|
||||
|
||||
# Celery results (для сохранения статуса асинхронных задач)
|
||||
'django_celery_results',
|
||||
'simple_history', # Перенесли сюда для корректной инициализации моделей
|
||||
]
|
||||
|
||||
# Tenant apps: создаются в отдельной схеме для каждого тенанта (изолированные данные)
|
||||
@@ -81,7 +82,6 @@ TENANT_APPS = [
|
||||
'django.contrib.auth', # Дублируем для tenant схем
|
||||
|
||||
# Приложения с бизнес-логикой (изолированные для каждого магазина)
|
||||
'simple_history', # История изменений для каждого тенанта
|
||||
'nested_admin',
|
||||
'django_filters', # Фильтрация данных
|
||||
'user_roles', # Роли пользователей
|
||||
@@ -96,9 +96,12 @@ TENANT_APPS = [
|
||||
# Объединяем для INSTALLED_APPS
|
||||
INSTALLED_APPS = list(SHARED_APPS) + [app for app in TENANT_APPS if app not in SHARED_APPS]
|
||||
|
||||
# Django Debug Toolbar
|
||||
# Django Debug Toolbar (должен быть в SHARED_APPS для работы django-tenants)
|
||||
if DEBUG_TOOLBAR_ENABLED:
|
||||
INSTALLED_APPS += ['debug_toolbar']
|
||||
if 'debug_toolbar' not in SHARED_APPS:
|
||||
SHARED_APPS.append('debug_toolbar')
|
||||
# Пересобираем INSTALLED_APPS с учетом тулбара
|
||||
INSTALLED_APPS = list(SHARED_APPS) + [app for app in TENANT_APPS if app not in SHARED_APPS]
|
||||
|
||||
# Модели тенанта и домена
|
||||
TENANT_MODEL = "tenants.Client"
|
||||
@@ -153,6 +156,11 @@ ROOT_URLCONF = 'myproject.urls'
|
||||
PUBLIC_SCHEMA_URLCONF = 'myproject.urls_public'
|
||||
|
||||
|
||||
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
|
||||
USE_X_FORWARDED_HOST = True
|
||||
|
||||
|
||||
|
||||
# ============================================
|
||||
# TEMPLATES
|
||||
# ============================================
|
||||
|
||||
@@ -33,11 +33,12 @@ if settings.DEBUG:
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
||||
|
||||
# Django Debug Toolbar (только в DEBUG режиме)
|
||||
import debug_toolbar
|
||||
urlpatterns += [
|
||||
path('__debug__/', include(debug_toolbar.urls)),
|
||||
]
|
||||
# Django Debug Toolbar (только если включено в настройках)
|
||||
if getattr(settings, 'DEBUG_TOOLBAR_ENABLED', False):
|
||||
import debug_toolbar
|
||||
urlpatterns += [
|
||||
path('__debug__/', include(debug_toolbar.urls)),
|
||||
]
|
||||
else:
|
||||
# Force serve media files in production (for NAS setup)
|
||||
urlpatterns += [
|
||||
|
||||
@@ -24,11 +24,12 @@ if settings.DEBUG:
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
||||
|
||||
# Django Debug Toolbar (только в DEBUG режиме)
|
||||
import debug_toolbar
|
||||
urlpatterns += [
|
||||
path('__debug__/', include(debug_toolbar.urls)),
|
||||
]
|
||||
# Django Debug Toolbar (только если включено в настройках)
|
||||
if getattr(settings, 'DEBUG_TOOLBAR_ENABLED', False):
|
||||
import debug_toolbar
|
||||
urlpatterns += [
|
||||
path('__debug__/', include(debug_toolbar.urls)),
|
||||
]
|
||||
else:
|
||||
# Force serve media files in production (for NAS setup)
|
||||
urlpatterns += [
|
||||
|
||||
Reference in New Issue
Block a user