Ошибка ModuleNotFoundError при попытке загрузить настройки разработки

Я новичок в Django, поэтому, пожалуйста, извините за мой вопрос новичка. Я понимаю необходимость разделения конфигурации для разработки и рабочей конфигурации. Итак, я создал папку по адресу br_project/br_project/settings/, и в ней у меня есть эти файлы:

- __init__.py
- base.py
- development.py
- production.py

Файл br_project/br_project/__init__.py содержит:

import os

env = os.environ.get('DJANGO_ENV', 'local')

if env == 'production':
  from .production import *
else:
  from .development import *

При вызове .development я получаю сообщение об ошибке: ModuleNotFoundError: No module named 'br_project.production'

Почему-то мои конфигурационные файлы не найдены. Что я неправильно настроил?

При импорте не указан каталог настроек. Приведенная ниже структура каталогов:

br_project/
├── br_project/
│   ├── __init__.py
│   ├── settings/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── development.py
│   │   └── production.py

вы хотели бы импортировать следующим образом:

# br_project/br_project/__init__.py
import os

env = os.environ.get('DJANGO_ENV', 'local')

if env == 'production':
    from .settings.production import *
else:
    from .settings.development import *

Альтернативный вариант:

Вышеописанное должно исправить вашу ошибку. В любом случае, следующее позволяет вам явно указать на файл настроек:

Определение параметров, которые вы выбираете, обычно задается переменной окружения DJANGO_SETTINGS_MODULE. Очевидно, что это можно сделать EXPORT в bash перед запуском python manage.py runserver, но вы также можете включить это через

python manage.py runserver --settings=br_project.settings.production

Это позволяет вам явно указать на файл настроек. Затем вы должны ввести 'production.py' from .base import * и 'br_project/br_project/init.py', вы можете оставить emtpy. Краткое, но полезное чтение: https://docs.djangoproject.com/en/5.1/topics/settings/

Вернуться на верх