Я использую eclipse для разработки моего проекта Django, и он будет развернут в 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
или на Хереку. Однако, если я попытаюсь запустить foreman start
вместо runserver
, настройки в wsgi.py
не будут работать, так как foreman
также требует Cling
.
Есть ли способ, которым я могу определить, работает ли приложение в foreman
, чтобы я мог правильно настроить?
Спасибо, но я не пытаюсь определить, если приложение работает локально или на Heroku. Я пытаюсь определить, работает ли приложение локально с 'manage.py runningerver' или с' foreman start'. –
@ yltang52 Извините за поздний повтор, я путешествовал. И я обновил свой ответ. –
Отлично! Большое спасибо. –