Django Admin поднимает 500 ошибку в продакшене Heroku
Я знаю, что этот вопрос поднимался много раз, но так и не смог решить проблему. Вот моя проблема: мое приложение Django-React развернуто на Heroku и отлично работает (очень простое приложение). Я хотел бы получить доступ к /admin части моего приложения, но я получаю 500 Internal Server Error. Ошибка появляется локально и в Heroku. DEBUG - False, и, к сожалению, я не могу заставить журналы работать ни в Heroku, ни локально :(
).Вот мой settings.py:
Вот как выглядит моя папка:
Не стесняйтесь спрашивать у меня больше кода, я новичок в Django / React, поэтому я не уверен, что мне стоит делиться здесь или нет.
Так я выяснил свою проблему.
Это не связано с PostgreSQL, но спасибо @Chris, что указал на это, это лучшая методология разработки для меня.
Проблема была связана с тем, как я управлял статическими файлами в моем settings.py
Я не понял, как работает STATIC_ROOT, я понял наоборот. Поразмыслив, вот что я сделал:
STATIC_ROOT = os.path.join(BASE_DIR,'staticfiles')
Мои файлы будут обслуживаться из этой staticfiles директории.
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'students-fe','build','static'),
]
Но он должен включать мое приложение react, которое находится в папке students-fe/build/static.
Плюс ко всему, при развертывании на Heroku необходимо добавить билдпаки, что я и сделал, но не в правильном порядке.
Сначала мне нужно было добавить python (для Django):
heroku buildpacks:set heroku/python
и затем говорит, что перед этим нужно установить nodejs (для React):
heroku buildpacks:add --index 1 heroku/nodejs
Поэтому Heroku сначала выполнит npm run build перед python manage.py collecstatic, который необходим для перемещения статических файлов в папку staticfiles.
Надеюсь, это может помочь другим. Спасибо всем за ваши ответы.