Автор оригинала: 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 creategit 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”