Фикс деплоя на NAS: статика, медиа, автоматическое создание системного покупателя

This commit is contained in:
2025-12-12 19:21:45 +03:00
parent 4cbc5c07b9
commit f320eafc55
6 changed files with 48 additions and 1 deletions

View File

@@ -8,6 +8,8 @@ from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from django.urls import re_path
from django.views.static import serve
from . import views
urlpatterns = [
@@ -25,7 +27,15 @@ urlpatterns = [
path('pos/', include('pos.urls')), # POS Terminal
]
# Serve media files during development
# Serve media files during development
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
else:
# Force serve media files in production (for NAS setup)
urlpatterns += [
re_path(r'^media/(?P<path>.*)$', serve, {
'document_root': settings.MEDIA_ROOT,
}),
]

View File

@@ -10,6 +10,8 @@ from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from django.urls import re_path
from django.views.static import serve
urlpatterns = [
path('admin/', admin.site.urls),
@@ -21,3 +23,10 @@ urlpatterns = [
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
else:
# Force serve media files in production (for NAS setup)
urlpatterns += [
re_path(r'^media/(?P<path>.*)$', serve, {
'document_root': settings.MEDIA_ROOT,
}),
]

View File

@@ -115,6 +115,12 @@ class Command(BaseCommand):
f'истекает: {subscription.expires_at.strftime("%Y-%m-%d")}'
))
# Инициализация системных данных
self.stdout.write('Инициализация системных данных...')
from django.core.management import call_command
call_command('init_tenant_data', schema=client.schema_name)
self.stdout.write(self.style.SUCCESS('✓ Системные данные созданы'))
# Обновляем заявку
registration.status = TenantRegistration.STATUS_APPROVED
registration.processed_at = timezone.now()

View File

@@ -65,6 +65,12 @@ class Command(BaseCommand):
)
self.stdout.write(self.style.SUCCESS(f'✓ Домен создан: {domain}'))
# Инициализация системных данных
self.stdout.write('Инициализация системных данных...')
from django.core.management import call_command
call_command('init_tenant_data', schema=schema_name)
self.stdout.write(self.style.SUCCESS('✓ Системные данные созданы'))
self.stdout.write('\n' + '='*60)
self.stdout.write(self.style.SUCCESS('✓ Магазин успешно создан!'))
self.stdout.write('='*60 + '\n')