2015-10-13 4 views
0

У меня есть проект django (RESTful API, написанный с использованием Django Rest Framework), который использует базу данных Postgres.django - развертывание проекта для heroku

У меня есть локальный репозиторий GIT проекта, а также у меня есть на моем GitHub счет, и я хочу, чтобы развернуть porject в Heroku.

В официальных учебниках по герою они ничего не показывают о том, как подготовить приложение к развертыванию - (файл требований, файл настроек, файл Proc, возможно, больше вещей, которые я не знаю, - которые я видел в разных учебники, которые вам нужно сделать).

На данный момент у меня есть приложение django без добавления файла.

Мой вопрос - что мне нужно сделать, чтобы подготовить мое приложение к развертыванию в Heroku? как я уже сказал, у меня есть местный git-репозиторий, а также на Github.

Спасибо!

ответ

1

1) Создайте файл с именем Procfile (без расширения) в корне вашего проекта со следующим: web: gunicorn APP_NAME.wsgi (замените APP_NAME именем вашего приложения).

2) Пип установить gunicorn и dj-database-url

3) В терминале виртуального окр запустите pip freeze > requirements.txt в корневом каталоге проекта (сделать это каждый раз, когда вы pip install любых новые пакеты).

4) В вашем файле настроек производства, добавьте следующие строки, чтобы сделать вашу работу базы данных на Heroku:

import dj_database_url 
DATABASES['default'] = dj_database_url.config() 

Примечание: Это приведет к ошибкам в локальной среде, поэтому убедитесь, что у вас есть файл с prod.py настройки (спросите, нужно ли вам объяснение).

5) Добавьте герою в свои настройки git через git remote add heroku [email protected]:HEROKU_APP_NAME.git (замените HEROKU_APP_NAME на ваше имя приложения Heroku).

6) Как только вы делаете git add --all, git commit -m "SOME MESSAGE HERE" и git push, вы можете сделать git push heroku master.

+0

спасибо за подробный ответ! один вопрос - я работаю в pyCharm, поэтому я действительно не знаю, что такое виртуальный терминал env. что я запускаю «python manage.py shell»? в каталоге приложения –

+0

Не беспокойтесь, я работаю в PyCharm также ... для начала, у вас есть виртуальная среда? (shell - это просто консоль Django) – Hybrid

+0

Не совсем уверен, я сделал pip install virtualenv .., что единственное, что я сделал с virtualenv –

Смежные вопросы