2014-02-10 3 views
0

У меня есть некоторые конфигурационные варны, установленные на Heroku, как описано здесь: https://devcenter.heroku.com/articles/config-vars. Когда я бегу:Невозможно получить доступ к конфигурационным файлам Heroku из настроек Django.py

heroku config 

Я вижу конфигурационный вар в списке:

COMPRESS_OFFLINE:     True 

и я могу запустить

heroku config:get COMPRESS_OFFLINE 

и я получаю:

True 

В моем Django settings.py у меня есть:

import os 
COMPRESS_OFFLINE = os.environ['COMPRESS_OFFLINE'] 

Вот как связанная статья указывает вам доступ к конфигурационным переменным Heroku в Django. У меня есть этот config var, установленный в моем локальном файле .env, и я могу запустить мастера на локальном компьютере. Но, когда я раскрываю к Heroku, я получаю эту ошибку во время развёртывания:

KeyError: 'COMPRESS_OFFLINE' 
!  Push rejected, failed to compile Python app 

У меня есть чувство, что я что-то до боли очевидно не хватает, какие-то предложения?

ответ

2

Я получил ответ от поддержки Heroku, что переменные окружения недоступны во время компиляции пули по умолчанию. Но есть экспериментальная функция user-env-compile, которая сделает их доступными: http://devcenter.heroku.com/articles/labs-user-env-compile

Мне это не нужно. Я думал, что, поскольку он не смог найти их во время компиляции, он не смог бы найти их вообще. Но я обнаружил, что они доступны после компиляции. Таким образом, я просто обновил settings.py иметь:

COMPRESS_OFFLINE = os.environ.get('COMPRESS_OFFLINE', True) 

Так что он по умолчанию Правда во время компиляции, если переменная среды не доступна.

Смежные вопросы