Развертывание Джанго Хероку -! [удалено отклонено] master -> master (обработчик предварительного приема отклонен) - PullRequest
0 голосов
/ 06 июля 2019

Есть несколько постов с этой конкретной проблемой, однако я попробовал около пяти или шести различных предложений из этих постов, но мне не повезло.

При попытке

git push heroku master

я получаю следующую ошибку:

(env) PS C:\Users\Shaun\Desktop\DjangoBlog\src> git push heroku master
Total 0 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz
remote:        More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to murmuring-dusk-96030.
remote:
To https://git.heroku.com/murmuring-dusk-96030.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/murmuring-dusk-96030.git'

Из журнала сборки на веб-сайте Heroku:

-----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz
       More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
 !     Push failed

У меня есть простой статический сайт с Django 2.2.3 в качестве бэк-энда.Я разрабатывал в виртуальной среде на своем локальном компьютере, и у меня была следующая структура проекта, где src/ был тем, что я переименовал в папку, созданную командой startproject django-admin.

File directory structure

Я бы хотел развернуть свой сайт на Heroku, чтобы я зарегистрировался, установил Git и Heroku CLI.В моем терминале я вошел в Heroku и инициализировал свой репозиторий Git в этом корне верхнего уровня (src/).Я добавил Procfile, который содержит следующее:

web: gunicorn blog.wsgi --log-file -

В моем файле runtime.txt есть следующее.Я фактически использую 3.7.3 в своей виртуальной среде, но я пробовал оба способа:

python-3.6.1

К настройкам, которые я добавил:

import django_heroku

MIDDLEWARE = [
    # added this:
    'whitenoise.middleware.WhiteNoiseMiddleware',
]

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))

#  Add configuration for static files storage using whitenoise
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'

django_heroku.settings(locals())

Мой requirements.txt содержит все пакетыЯ использую и psycopg2, whitenoise и gunicorn, django-heroku.

Я не уверен, что именно я делаю неправильно, любая помощь будет оценена.

1 Ответ

2 голосов
/ 06 июля 2019

Ваш requirements.txt вместе с Procfile и runtime.txt, должен находиться в корневом каталоге вашего проекта .

Переместите их туда, зафиксируйте это изменение и снова разверните, например,

cd $PROJECT_ROOT
git mv src/requirements.txt .
git mv src/Procfile .
git mv src/runtime.txt .
git commit -m 'Move requirements.txt and Heroku files to root'
git push heroku master
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...