Django VSCode debug поднимает исключение для кода, который на самом деле работает
Я изучил похожие вопросы, но не нашел ни одного точно похожего на проблему, с которой я столкнулся.
Я не использую виртуальную среду.
Я хотел протестировать отладку файлов проекта/приложения django в VSCode, но застрял на "фальшивых" исключениях импорта. Все вроде бы работает как ожидалось, но по какой-то причине отладчик VSCode не может найти мои файлы.
Вот фрагмент кода:
from django.contrib import admin
from .models import Paciente
Первая строка не вызывает никаких исключений. Вторая, однако, вызывает следующее:
Exception has occurred: ImportError
attempted relative import with no known parent package
Поэтому я поместил родительскую папку в путь, например:
from app.models import Paciente
но затем я получаю другое исключение:
Exception has occurred: ModuleNotFoundError
No module named 'app'
Тогда я попробовал удалить синтаксис пути python, оставив только "models", как в:
from models import Paciente
Затем я получаю другое исключение, на этот раз не в файле admin (тот, который я пытался отладить), а в файле models, жалуясь, что:
Exception has occurred: ImproperlyConfigured
Requested setting USE_TZ, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Кроме того, он настраивается в settings.py. Он там есть (всегда был, по умолчанию, btw): USE_TZ: True.
.
Теперь самое забавное, что без этой точки или полного пути (app.models) Django не может добраться до models.py. Если я попробую запустить сервер, я получу:
raise self.model.DoesNotExist(
app.models.Paciente.DoesNotExist: Paciente matching query does not exist.
Почему это происходит? Как заставить отладчик VSCode работать с файлами Django?