У меня была такая же ошибка при развертывании проекта response и django на heroku. Я занимался отладкой в течение 2 дней, делал все, например, разрешенный хост, статические файлы, json, белый шум, но это все еще не решало проблему.
Если ваш браузер выдает ошибку 500, установите DEBUG=True
в settings.py
. Если он выдает ошибку TemplateDoesNotExist в index.html, то изменение views.py может помочь решить эту проблему. Не забудьте установитьDEBUG=False
перед развертыванием.
Я решил это, изменив код в views.py.
def index(request):
return render(request,'ur_app_name.html')
TO
def index(request):
some_variable_name=TemplateResponse(request,'ur_app_name.html',{})
return some_variable_name
Не забудьте импортировать это поверх views.py
from django.template.response import TemplateResponse
Я не знаю, с какой именно проблемой я столкнулся, я предполагаю, что это проблема httpResponse, потому что серверу нужен HTTP-запрос, а нашему локальному компьютеру он не нужен.
Некоторые ключевые моменты этой ошибки:
- Убедитесь, что вы упомянули свое доменное имя в
ALLOWED_HOST
в settings.py
файле
- установите
STATIC_ROOT=os.path.join(BASE_DIR, 'staticfiles')
in settings.py
, это может понадобиться, когда heroku выдает ошибку collecticstatic
, но я не уверен. Если он по-прежнему вызывает ту же ошибку, отключите collectstatic=1
по команде (точную команду для этого можно найти в журнале отладки), что не создает никаких проблем.
- установите
whitenoise.middleware.WhiteNoiseMiddleware
в MIDDLEWARE
в settings.py
, это может помочь.
- Если в вашем проекте используются react и django, выберите python только при добавлении пакета сборки на heroku. Не выбирайте node.js.
Это репозиторий github, куда я загружаю свой проект heroku, здесь вы можете найти файлы конфигурации, которые могут быть полезны.
Если в вашем проекте используется реакция, а предложения django и выше не помогли, это может помочь:
- проверьте
.gitignore
файлов, установите все requirement.txt
файлы и скопируйте package.json
файл в корневой каталог.
установить "build": "cd <project folder name>&& react-scripts build"
, в скриптах package.json
Мои index.html и manifest.json находятся в репозитории github, упомянутом выше. Каталог staticfiles был создан в корневой папке с помощью $ python manage.py collectstatic
. Попробуйте скопировать мой index.html
файл, если в вашем проекте его нет. Это все.
Ссылка на herokuapp: https://sainterface.herokuapp.com/
person
Ashish Adhikari
schedule
12.05.2021