Django - Нет модуля с именем 'mywebsite'

У меня есть приложение django, которое я загрузил из репозитория Github, где главное приложение не называется "mywebsite" (как указано в учебнике по django).

Каждый раз, когда я запускаю python manage.py runserver, я получаю следующую ошибку.

Концептуально я понимаю ошибку, но практически - нет. Проблема не может быть в том, что мне всегда нужно называть мое репо "mywebsite", верно?

Это текущая структура репо.

enter image description here

Скорее всего, это связано с названием вашего проекта. На данный момент у вас есть 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"
Вернуться на верх