2016-03-15 6 views
0

У меня есть приложение, которое использует Джанго ENV переменные для таких вещей, как БД паролей, django_secret_key, ключи API и т.д.Рекомендуемый способ хранения Переменные среды производства в Django App

Я хочу использовать переменные ENV в производстве, но хотите сохранить значения этих значений из git. Что такое лучший способ:

  1. переменные магазин чувствительной производственной среды
  2. нагрузки переменные в производственной среде

Спасибо заранее.

ответ

0

Ваш вопрос может быть очень мнение основано ...

  • Вы могли бы, например, прочитать материал из конфигурационного файла, который не является settings.py.
  • Вы можете разделить настройки с local-devel.py переопределения вещи в settings.py

Смотри, например, здесь: https://code.djangoproject.com/wiki/SplitSettings или это так, вопрос: How to manage local vs production settings in Django? (который я лично считаю некрасиво ...).

Я использую соловую стек и помещаю всю важную информацию в столбы, но это может быть излишним для одного разработчика.

Вы можете использовать какое-либо состояние для установки переменных окружения, чтобы ваше приложение wsgi могло видеть эти переменные.

+1

Спасибо за ответ. Я закончил использовать комбинацию git-encrypt для сохранения конфиденциальной информации в git и Fabric/ansible templates для загрузки конфиденциальной информации в мою производственную среду. –

0

У вас могут быть ваши файлы (файлы конфигурации) на вашем сервере. Вы можете иметь файл конфигурации по умолчанию в репо для справки, но один с ценностями производства можно «скрыть», используя:

https://git-scm.com/docs/git-update-index

--assume-unchanged

git update-index --assume-unchanged <path> 

В случае вам необходимо распечатать список файлов, отмеченных значком --assume-unchanged:

git ls-files -v|grep '^h' 

enter image description here