Настройка приложения django и его опций при загрузке
У меня есть глупая, но интригующая ситуация, в которой мне нужно перезагрузить одно из моих Django Apps, когда пользователь изменяет некоторые вещи в его конфигурации. Чтобы прояснить ситуацию для вас, помощники, я сделал готовую функцию, которая загружает некоторые компоненты из YAML файла, затем, с помощью некоторых представлений, пользователь изменяет этот YAML файл, и, короче говоря, я хочу, чтобы приложение перезагрузилось с новыми параметрами конфигурации, вот некоторый код...
# apps.py file
def read_yaml():
path = os.path.join(os.getcwd(),'config.yaml')
with open(path) as f:
conf = yaml.safe_load(f)
return conf
class ActivateanduseConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'activateAndUse'
def ready(self):
"""
A ready function to make stuff load on startup
"""
config = read_yaml()
self.option1 = SomeClassOrFunction(config["config"]["model_ref_url"])
================
# views.py file
class SelectConfigStuff(APIView):
"""
API VIEW TO CHANGE Some OPtions
"""
def post(self, request, format=None):
"""
In the request we only expect the model ref name to be specified
"""
newlyOptzzz = request.data.get("newOpts")
new_yaml_data_dict = {
"option": newlyOptzzz ,
}
with open('config.yaml','r') as yamlfile:
cur_yaml = yaml.safe_load(yamlfile)
cur_yaml['config'].update(new_yaml_data_dict)
with open('bugs.yaml','w') as yamlfile:
yaml.safe_dump(cur_yaml, yamlfile)
return Response(data={"message":"done ! "}, status=201)
Теперь код выше изменяет только параметры запуска, а не записанные параметры в yaml файле, который я хочу использовать... Помощь будет потрясающей!!!