ModuleNotFoundError: Нет модуля с именем " "
Вот контекст: Я работаю над Django. Я начал кодить функции, но остановился, чтобы создать первые юнит-тесты.
Я хотел протестировать свой класс CustomUser, расположенный в JoBooking.models.py в файле test_models.py. JoBooking - это приложение, которое я создал в своем проекте Django.
Так что я сделал импорт из JoParis.JoBookings.models import CustomUser.
Когда я запускаю python manage.py test или pytest в терминале, я сталкиваюсь с этой ошибкой: ModuleNotFoundError: No module named 'JoParis.JoBooking'
Я настроил приложение (JoBooking) в settings.py... но ничего не работает.
Файлы init.py присутствуют в пакетах.
Я сделал простой тест, чтобы проверить, возвращает ли URL моего приложения ответ HTTP 200, и тест работает, но я должен удалить импорт из JoParis.JoBookings.models import CustomUser. Таким образом, тестовый файл найден, но проблема возникает из-за импорта, когда я хочу протестировать свои модели.
Я застрял. Я не могу понять эту ошибку. ModuleNotFoundError: No module named Просто объясните мне, пожалуйста, что это за ошибка. Спасибо
Общий ответ :-
Попробуйте, как показано ниже.
from JoBookings.models import CustomUser
Для импорта из других скриптов следует использовать относительные пути.
В JoParis.JoBookings.models
JoParis
- это имя папки/имя проекта
JoBookings
- это название приложения / название папки приложения (внутри папки проекта)
models
- это имя файла python (внутри папки app).
Все они относятся к текущему файлу (оператору импорта).
Итак, для импорта, как описано выше, JoParis
должен быть вложенным каталогом текущего тестового сценария.
Узнал новую информацию о проблеме :-
Для расположения C:\Users\murhe\PycharmProjects\StudiProject\JoParis\JoBooking\tests\test_models.py
попробуйте сделать так, как показано ниже.
from ...JoBookings.models import CustomUser
Дополнительная информация :-