Django - Нет модуля с именем 'mywebsite'
У меня есть приложение django, которое я загрузил из репозитория Github, где главное приложение не называется "mywebsite" (как указано в учебнике по django).
Каждый раз, когда я запускаю python manage.py runserver
, я получаю следующую ошибку.
Концептуально я понимаю ошибку, но практически - нет. Проблема не может быть в том, что мне всегда нужно называть мое репо "mywebsite", верно?
Это текущая структура репо.
Скорее всего, это связано с названием вашего проекта. На данный момент у вас есть 2 варианта: (1) переименовать обратно в mywebsite или (2) переименовать все случаи использования "mywebsite" в вашем проекте в название вашего проекта.
Если вы выберете (2), проверьте настройки вашего проекта, и вы увидите множество переменных, подобных этой ROOT_URLCONF = 'mywebsite.urls'
, которые вы должны изменить на ROOT_URLCONF = 'yggdrasil.urls'
. И вы также должны сделать это во всех ваших приложениях и везде, где используется mywebsite
в качестве корневой ссылки.
Я просмотрел код в репозитории и, похоже, все в порядке.
Если снова посмотреть на ошибку, которую получает OP, то она начинается со строки
mod = importlib.import_module(self.SETTINGS_MODULE)
затем ищет файл, используя путь, отличный от Windows, Файл "/opt/homebrew/Cellar/python.... Это показывает, что у OP проблема с импортом модуля настроек.
После некоторого копания, нашел эту страницу в Django docs, которая утверждает
Если эта переменная не установлена, wsgi.py по умолчанию устанавливает ее в mysite.settings, где mysite - имя вашего проекта. Так runserver по умолчанию обнаруживает файл настроек по умолчанию.
Чтобы исправить это, попробуйте применить значение for в вашем файле wsgi.py, например,
os.environ["DJANGO_SETTINGS_MODULE"] = "yggdrasil.settings"