Ошибка UnboundLocalError: cannot access local variable 'ServiceCategory' where it is not associated with a value устранена.
🔍 Причина ошибки
В контекст-процессоре внутри одной из веток функций локально импортировалась модель ServiceCategory (from services.models import Service, ServiceCategory). В Python, если переменная импортируется или присваивается внутри функции, она помечается как локальная для всей области видимости этой функции. В результате обращение к ServiceCategory.objects в конце файла (в словаре nav_categories) до или вне выполнения этого блока вызвало UnboundLocalError.
🛠️ Что сделано
- Импорт
Serviceперенесен на глобальный уровень в начало файларядом сServiceCategory. - Избыточный локальный импорт внутри
main_context()удален. - Исправлен вызов импорта в
services/tests.py.
🧪 Результаты проверки
- Главная страница (
http://127.0.0.1:4234/):200 OK - Каталог услуг (
http://127.0.0.1:4234/services/):200 OK - Страница детализации услуги (
http://127.0.0.1:4234/services/sozdanie-sajta-shop-srednej-slozhnosti/):200 OK - Модульные тесты (
python manage.py test services): Успешно пройдены (9/9 OK).