Troubleshooting¶
ModuleNotFoundError: No module named 'django'¶
Причина: dependencies не встановлені або virtual environment не активований.
ImportError: cannot import name async_views¶
Ця помилка виникне, якщо повернути legacy async routes/import без відповідних files. У поточній активній документації async HTTP demo не подається як робоча feature.
Варіанти:
- відновити
notes_app/async_views.py,async_selectors.py,async_services.py; - або прибрати async import/routes з
notes_app/urls.py.
no such table¶
Причина: migrations не застосовані.
NoReverseMatch¶
Причина: неправильний URL name або namespace.
Перевірте app_name = "notes_app" і names у notes_app/urls.py.
TemplateDoesNotExist¶
Перевірте:
templates/на project level;notes_app/templates/notes_app/на app level;TEMPLATES["DIRS"]уnotes_project/settings.py;APP_DIRS=True.
WebSocket не підключається¶
Перевірте:
- server запущений через ASGI:
uvicorn notes_project.asgi:application --reload --port 8001; - user logged in;
- user є member group;
- URL має формат
/ws/groups/<pk>/chat/; - browser DevTools -> Network -> WS;
- якщо задано
REDIS_URL, Redis доступний.
Docker build падає на директорії notes¶
Поточний Docker setup згадує notes, але такої директорії в корені немає. Треба виправити build context і COPY paths перед використанням Docker як робочого сценарію.
Django checks: .venv, DATABASE_URL, PostgreSQL¶
Поточна конфігурація проєкту очікує DATABASE_URL. Якщо запускати системний Python напряму, Django може не імпортуватися:
Типова помилка:
Використовуй Python із .venv:
Якщо DATABASE_URL не встановлено, notes_project/settings.py зупиняє запуск:
Мінімальна перевірка конфігурації проходить із Postgres-style URL:
DATABASE_URL=postgres://notes_user:notes_pass@localhost:5432/notes_db .venv/bin/python manage.py check
Для тестів потрібен доступний PostgreSQL на localhost:5432 або відповідний DATABASE_URL на запущений сервіс:
DATABASE_URL=postgres://notes_user:notes_pass@localhost:5432/notes_db .venv/bin/python manage.py test
Якщо PostgreSQL не запущено, Django знайде тести, але не створить test database:
django.db.utils.OperationalError: connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused
Рішення: запусти database service через Docker Compose або локальний PostgreSQL з такими самими credentials, після цього повтори manage.py test.