Files
octopus/myproject/myproject/urls.py

54 lines
2.3 KiB
Python

# -*- coding: utf-8 -*-
"""
URL configuration for TENANT schemas (shop1.inventory.by, shop2.inventory.by, etc.).
This is used for individual shop subdomains where shop owners manage their business.
"""
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 = [
path('_nested_admin/', include('nested_admin.urls')), # Для nested admin
path('admin/', admin.site.urls), # Админка для владельца магазина (доступна на поддомене)
# Web interface for shop owners
path('', views.index, name='index'), # Главная страница
path('accounts/', include('accounts.urls')), # Управление аккаунтом
path('products/', include('products.urls')), # Управление товарами
path('customers/', include('customers.urls')), # Управление клиентами
path('inventory/', include('inventory.urls')), # Управление складом
path('orders/', include('orders.urls')), # Управление заказами
path('pos/', include('pos.urls')), # POS Terminal
path('settings/', include('system_settings.urls')), # Системные настройки
]
# 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)
# Django Debug Toolbar (только в DEBUG режиме)
import debug_toolbar
urlpatterns += [
path('__debug__/', include(debug_toolbar.urls)),
]
else:
# Force serve media files in production (for NAS setup)
urlpatterns += [
re_path(r'^media/(?P<path>.*)$', serve, {
'document_root': settings.MEDIA_ROOT,
}),
]
# Fallback для статических файлов в production (если nginx не настроен или не может прочитать файлы)
urlpatterns += [
re_path(r'^static/(?P<path>.*)$', serve, {
'document_root': settings.STATIC_ROOT,
}),
]