Как прочитать внешний файл конфигурации в Django и сделать его доступным везде

Я хочу определить внешний файл конфигурации, например, в Yaml. Как я могу прочитать его один раз при инициализации и затем сделать его доступным везде, не перечитывая файл каждый раз?

Например, если я помещу это в apps.py

def ready(self)
    config = yaml.safe_load(open("config.yml"))

Как мне сослаться на это, например, views.py

Вы можете загрузить свой файл в настройки и затем получить к нему доступ отовсюду. Изменения в settings.py:

# settings.py
BASE_URL = Path(__file__).resolve().parent.parent
DEBUG = True
...
MY_YAML = yaml.safe_load((BASE_URL / 'config.yml').read_text())
...

После этого вы сможете ссылаться на него отовсюду в проекте:

# somethere in project xyz.py
from django.conf import settings
...
yaml = settings.MY_YAML
...
Вернуться на верх