Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Программное изменение settings.py (django)

#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

Комментариев нет:

Отправить комментарий