1
Eclipse를 사용하여 장고 프로젝트를 개발하고 Heroku에 배포 할 것입니다. 응용 프로그램이 Heroku가 실행중인 경우 감지하기 위해, settings.py
은 수정 :Heroku : 장교가 실행 중인지 확인하는 방법
if 'DYNO' in os.environ: # Is running on Heroku
DEBUG = False
else:
DEBUG = True
...
if DEBUG==True:
DATABASES = {
'default': {
...
}
}
else: # For Heroku
# Parse database configuration from $DATABASE_URL
import dj_database_url
DATABASES = {'default':dj_database_url.config()}
# Honor the 'X-Forwarded-Proto' header for request.is_secure()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
을 또한 wsgi.py
수정 :
from <myApp> import settings
if settings.DEBUG==True:
application = get_wsgi_application()
else: # For Heroku
from dj_static import Cling
application = Cling(get_wsgi_application())
위의 수정 앱이 runserver
또는 로컬로 실행중인 경우 식별 할 수 있습니다 Heroku에. 그러나 runserver
대신 foreman start
을 실행하려고하면 foreman
에도 Cling
이 필요하기 때문에 wsgi.py
의 설정이 작동하지 않습니다.
응용 프로그램이 foreman
에 의해 실행되는 경우 감지하여 적절한 설정을 할 수있는 방법이 있습니까?
감사합니다,하지만 난 앱이 로컬 또는 Heroku가 실행되고 있는지 확인하는 것을 시도하고 있지 않다. 응용 프로그램이'manage.py runserver' 또는'foreman start'로 로컬로 실행되는지 확인하려고합니다. –
@ yltang52 늦게 재생해서 죄송합니다. 여행 중이 었습니다. 그리고 나는 나의 대답을 업데이트했다. –
좋아요! 고마워. –