В этой статье мы узнаем, как разделить файл django settings.py на несколько других файлов.

разделить файл

Во-первых, вместо файла Python мы создаем одноименный каталог настроек.

затем в каталоге настроек сделайте эти файлы

├── settings
    ├── __init__.py
    ├── base.py
    ├── development.py
    ├── production.py
    └── local.py

Файл local.py не требуется, но многие программисты создают этот файл.

Теперь давайте объясним об этих файлах

base.py : все переменные, которые мы используем во время разработки и развертывания, находятся внутри этого файла, и этот файл импортируется как в файлы production.py, так и в development.py.

development.py: переменные, которые мы используем во время разработки.

production.py : переменные, которые мы используем во время развертывания.

local.py: для переменных, которые мы используем для себя, и мы добавляем этот файл в .gitignore

Как запустить наше приложение

перед этим мы должны изменить некоторые файлы

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'split_settings.settings')

к этому

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'split_settings.settings.development')

и добавьте .parent к BASE_DIR в base.py

в конце BASE_DIR lock вот так

BASE_DIR = Path(__file__).resolve().parent.parent.parent

теперь вы можете запустить свое приложение с помощью

python3 manage.py runserver

или есть другой способ, и вы можете использовать --settings swich вот так

python3 manage.py runserver --settings=you_project_name.settings.production
python3 manage.py runserver --settings=you_project_name.settings.development

но если мы не хотим деполировать наше приложение, мы используем пушку

сначала установите его с

pip3 install gunicorn

чем изменить asgi or wsgilike ниже в строке 3 вашего кода

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "split_settings.settings.production")

чем рядом с manage.py запустить эту команду

gunicorn your_project_name.wsgi:application
gunicorn your_project_name.asgi:application

Спасибо за ваше время и за то, что вы со мной до сих пор.

А вот и моя страница Linkedin и Github