Django heroku внутренняя ошибка сервера после развертывания
Я развернул свое приложение django в heroku и получаю Internal Server Error
на сайте.
settings.py :
'ALLOWED_HOSTS = ['http://127.0.0.1:8000/','https://stripetestdjango.herokuapp.com/', 'localhost']
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
MEDIA_URL = '/images/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
MEDIA_ROOT = BASE_DIR / 'static/images'
# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
# STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
if os.getcwd() == '/app':
DEBUG = False
Журнал heroku показывает следующее:
У меня есть файл .env. Как протолкнуть его на сервер, так как я развертываю с помощью heroku. Я предполагаю, что ошибка заключается в том, что он не может найти мой .env файл.
Пожалуйста, не стесняйтесь спрашивать больше деталей, если необходимо.
Вам следует никогда не выталкивать .env
файл, содержащий конфиденциальные данные (т.е. SECRET_KEY_STRIPE), а использовать Heroku Config Vars.
Вы можете получить переменную env с помощью Python os
, в то время как в локальной среде разработки будет хорошей идеей сохранить .env
значение, которое вам нужно для разработки/тестирования.
def get_mysecret():
return os.environ.get("MY_SECRET", "")
См. скриншот (при желании можно создать Config Var с помощью командной строки):