#python #django
Вопрос в следующем, у меня есть development сервер и production. Некоторый функционал завязан на переменную PRODUCTION из settings.py. Как мне при помощи самого питона или через bash изменять эту переменную, например, перед выгрузкой на production?
Ответы
Ответ 1
Создайте файл local_settings.py, в нём прописывайте конфиг для девелоп-сервера и импортируйте его в конце settings.py, чтобы перезаписать нужные переменные. А на продакшн просто не выкладывайте этот файл (например, можно не включать его в репозиторий).Ответ 2
Каким образом выгружаешь? Я, например, использую Fabric и для включени/выклюячения дебага выполняю такой таск @task def debug(param="on"): """Toogle DEBUG variable in local_settings.py""" with cd(env.path): config_path = 'my_project/local_settings.py' if param == "on": uncomment(config_path, r'(DEBUG)') if param == "off": comment(config_path, r'^(DEBUG)') execute(restart_webserver) Можешь сделать что-то аналогичное для своей PRODUCTION.Ответ 3
В Django есть переменная DJANGO_SETTINGS_MODULE, в которую можно прописать модуль с конфигурацией: your_proj.settings
Комментариев нет:
Отправить комментарий