Как прочитать внешний файл конфигурации в 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
...