Рубрики
Без рубрики

Джанго просто развертывание на Heroku

В этом посте мы будем настроить проект Django для развертывания на Heroku. Heroku – это почти бесплатно … Теги с Джанго, Питоном, Героку.

Автор оригинала: Thirasha Praween.

В этом посте мы будем настроить проект Django для развертывания на Heroku. Heroku – это почти бесплатная платформа для пользователей, чтобы развернуть свой Python, Node JS и другие рамки на основе приложений.

Настройка проекта Django для развертывания

1. Во-первых, я бы порекомендовал сделать копию вашего проекта или использовать отдельный ветвь GIT.

2. Убедитесь, что виртуальная среда Python активирована.

3. Вы должны создать текстовый файл под названием требования .txt В корне проекта добавить все зависимости с их версиями.

Итак, чтобы сделать это, вы можете вручную ввести список зависимостей и версии, которые вы использовали для вашего проекта Django. или Попробуйте заморозить Команда на вашем терминале в корневом каталоге проекта

pip freeze > requirements.txt

В моем случае пример требования .txt файл.

Иногда, если вы установили огромные библиотеки Python на вашем компьютере, это может быть изменение. Это означает требования .txt Файл будет иметь каждую библиотеку, которую вы установили на компьютере. Также в основном проект Django не нуждается в этих других библиотеках. Так что есть способ исправить эту проблему, которую я бы порекомендовал. Вы должны установить простую библиотеку под названием PipReqs Отказ

pip install pipreqs

Хорошо, затем откройте свой терминал и запустите эту команду.

использование

pipreqs 

После процесса вы можете увидеть, что он будет выведен.

Successfully saved requirements file in /requirements.txt

Хорошо, в моем случае сейчас требования .txt Файл содержит я использовал зависимости только в проекте. У вас будет свой собственный список зависимостей.

4. Добавьте эту линию кода в settings.py файл.

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

5. Далее, если у вас нет учетной записи Heroku, создайте новый Heroku учетная запись.

6. Скачать и установить Heroku Cli Отказ

7. На этом этапе вы должны настроить Django-Heroku.

Сделать файл под названием Procfile в корне проекта. (Не добавляйте никакого расширения файла, как .txt .py) . Имя файла должно быть только Procfile ).

Этот файл используется для явного объявления типов процессов вашего приложения и точки входа. Он расположен в корне вашего проекта.

Написать линию кода внутри Procfile Отказ

web: gunicorn .wsgi

Для более подробной информации см. Django-Heroku документация.

Хорошо, тогда вам нужно установить еще два библиотека. Это Procfile требует Боевик Производственный веб-сервер, который Heroku рекомендует для приложений Django.

pip install gunicorn
pip install django-heroku

В settings.py Импорт Django_heroku Top файла.

import django_heroku

Кроме того, добавьте эту строку кода в нижней части settings.py Файл для активации Django-Heroku.

django_heroku.settings(locals())

Тогда вы должны добавить эти боевик и django_heroku Библиотеки в требования .txt файл. В моем случае требования .txt файл. (Вы можете получить эти два версии зависимостей, запустив команду Pip Command.)

8. Наконец, запустите эти команды один за другим в терминале в корневом каталоге проекта.

git init
git add .
git commit -m "first commit"

heroku login
heroku create 
git push heroku master
heroku open

Вы можете увидеть, что ваш проект откроется после успешного развертывания. Но если вы использовали SQLite Database в проекте, она покажет отсутствующую ошибку базы данных. Запустите миграцию базы данных, чтобы исправить проблему.

heroku run python manage.py migrate

Теперь ваш проект живет на Heroku🎉

По желанию

Если это не работает или получать другие ошибки, закройте свой терминал и откройте его. Затем измените эти строки кода в settings.py файл.

DEBUG = False

ALLOWED_HOSTS = ['.herokuapp.com', 'localhost', '127.0.0.1']

Если вы сделали эти изменения, то запустите эти команды в терминале

git add .
git commit -m "settingspy edited"
git push heroku master

Надеюсь, это будет работать! 👏🎉.

Оригинал: “https://dev.to/thirashapraween/django-easy-deployment-on-heroku-15jo”