[Python, Django] Как поставить Django на сервер heroku в 2020 году. 10 шагов
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Решил поделиться с вами тем, как поставить проект написаный на Python/Django на сервер heroku. Heroku — это бесплатный хостинг для тестирования своих проектов. Если вам нужно посмотреть как действует проект в боевом режиме — вперед!
1. Надо пройти регистрацию на heroku. В этом нет ничего сложного, просто вводите данные, подтверждаете на почте аккаунт, и вперед.
2. Установка командной строки heroku., слева-вверху видим burger меню, клацаем по нему и выбираем — Documentation -> Python, нажимаем Get Start With Python. Дальше слева нажимаем Set Up и выбираем установку heroku console на вашу операционную систему, тут нет ничего сложного, просто устанавливаем как вам удобно и все.
3. Закрываем пока что браузер и заходим в командную строку или bash. Переходим в папку с нашим django-проектом и открываем проект в текстовом редакторе (в моем случае Pycharm). Дальше нам придется работать с системой контроля версий git. Если у вас нет данной утилиты, то вы ее можете скачать по адресу — git-scm.com/downloads. Пройдите простую установку и возвращайтесь к данной статье.
4. В нашей консоли прописываем команду:
git init
После чего создаем в каталоге проекта файл .gitignore. В нем мы можем записать все файлы которые мы хотим проигнорировать при загрузке на сервер. Допустим на сервере я буду использовать базу данных MySQL, по этому файл db.sqlite3 мне не нужен.
Пишем этот код:
__pychache__/
*.pyc
db.sqlite3
После пишем в bush 3 команды
git add .
git commit -m "GIT init"
1-ая отвечает за добавление всех фалов в git.
2-ая за сохранение данных файлов на компьютере локально с сообщением GIT init.
5. Теперь входим в наш heroku через консоль. Пишем:
heroku login
Дальше вводим сначало E-mail, нажимаем Enter. Потом пароль и опять же Enter.
Вот мы и вошли. Дальше создаем приложение, мы это будем делать через консоль так что вводим в нее следующее:
heroku create
Команда создает приложение. После этой команды через пробел можно написать имя приложения. В противном случае heroku с генерирует его автоматически и выведет в консоль.
6. Дальше создаем несколько файлов, для того что бы heroku понял что мы загружаем и как:
Procfile
runtime.txt
- В runtime сразу пишем этот код:
python-3.8.5
После python-, пишите вашу версию python.
- Procfile:
web: gunicorn appname.wsgi --log-file -
Вместо appname пишите название своего проекта.
Дальше устанавливаем сам gunicorn для обслуживания django через wsgi:
pip install gunicorn
Сразу же устанавливаем whitenoise для работы со статическими файлами:
pip install witenoise
7. Теперь переходим в settings.py и делаем следующие изменения:
ALLOWED_HOSTS = ['*']
Добавляем static_root если у вас его нет:
import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
8. Настраиваем работу с базой данных. Устанавливаем утилиту для более удобной работы:
pip install dj-database-url
переходим опять в настройки и пишем:
import dj-database-url
db_from_env = dj-database-url.config()
DATABASE['default'].update(db_from_env)
9. Последний файл который нам нужен — requirements.txt, в нем будут все установленные библиотеки:
pip freeze -> requirements.txt
У нас создался файл со всеми пакетами. Можете записать в него различные пакеты с их версиями. Обязательно надо записать эту строчку:
psycopg2==2.8.6
Если при дальнейших действиях у вас возникнут ошибки, посмотрите, может вам надо добавить сюда какой либо пакет.
10. Ну и финал, загружаем на сервер.
Переходим в консоль и пишем такие команды:
git add .
git commit -m "Diploy"
git push heroku main
Если у вас не получилось с main, попробуйте:
git push heroku master
И пошел процесс загрузки нашего проекта на heroku. Дальше вам в консоль напишет ссылку на наш проект. По ней мы будем переходить потом, а сейчас выполним все миграции:
heroku run python manage.py migrate
И создадим super user-а:
heroku run python manage.py createsuperuser
Переходим по раннее полученной ссылке, и видим наш проект. Вот так за 10 шагов мы загрузили наш проект на heroku и настроили базу данных. Всем спасибо за внимание.
===========
Источник:
habr.com
===========
Похожие новости:
- [Python] Почему интернационализация и локализация имеют значение (перевод)
- [Python, Голосовые интерфейсы, Искусственный интеллект] Голосовой бот + телефония на полном OpenSource. Часть 2 — учим бота слушать и говорить
- [Python, Git] Нетривиальное слияние репозиториев с помощью GitPython
- Выпуск Brython 3.9, реализации языка Python для web-браузеров
- [Машинное обучение, Искусственный интеллект] Модерация изображений: уроки этикета от Data Scientist’a, часть 2
- [Python, Я пиарюсь] Keyboa: клавиатуры на максималках для ботов в Telegram
- Доступен Snek 1.5, Python-подобный язык программирования для встраиваемых систем
- [Разработка на Raspberry Pi, Удалённая работа] Повышаем эффективность работы из дома, или как шевелить мышкой на Pi Zero
- [Python] Мелкая питонячая радость #10: конечные автоматы и глубокое обучение в несколько строк
- [Настройка Linux, Open source, Python, *nix, Сетевые технологии] ipipou: больше чем просто нешифрованный туннель
Теги для поиска: #_python, #_django, #_django, #_python, #_django
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:56
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Решил поделиться с вами тем, как поставить проект написаный на Python/Django на сервер heroku. Heroku — это бесплатный хостинг для тестирования своих проектов. Если вам нужно посмотреть как действует проект в боевом режиме — вперед! 1. Надо пройти регистрацию на heroku. В этом нет ничего сложного, просто вводите данные, подтверждаете на почте аккаунт, и вперед. 2. Установка командной строки heroku., слева-вверху видим burger меню, клацаем по нему и выбираем — Documentation -> Python, нажимаем Get Start With Python. Дальше слева нажимаем Set Up и выбираем установку heroku console на вашу операционную систему, тут нет ничего сложного, просто устанавливаем как вам удобно и все. 3. Закрываем пока что браузер и заходим в командную строку или bash. Переходим в папку с нашим django-проектом и открываем проект в текстовом редакторе (в моем случае Pycharm). Дальше нам придется работать с системой контроля версий git. Если у вас нет данной утилиты, то вы ее можете скачать по адресу — git-scm.com/downloads. Пройдите простую установку и возвращайтесь к данной статье. 4. В нашей консоли прописываем команду: git init
После чего создаем в каталоге проекта файл .gitignore. В нем мы можем записать все файлы которые мы хотим проигнорировать при загрузке на сервер. Допустим на сервере я буду использовать базу данных MySQL, по этому файл db.sqlite3 мне не нужен. Пишем этот код: __pychache__/
*.pyc db.sqlite3 После пишем в bush 3 команды git add .
git commit -m "GIT init" 1-ая отвечает за добавление всех фалов в git. 2-ая за сохранение данных файлов на компьютере локально с сообщением GIT init. 5. Теперь входим в наш heroku через консоль. Пишем: heroku login
Дальше вводим сначало E-mail, нажимаем Enter. Потом пароль и опять же Enter. Вот мы и вошли. Дальше создаем приложение, мы это будем делать через консоль так что вводим в нее следующее: heroku create
Команда создает приложение. После этой команды через пробел можно написать имя приложения. В противном случае heroku с генерирует его автоматически и выведет в консоль. 6. Дальше создаем несколько файлов, для того что бы heroku понял что мы загружаем и как: Procfile runtime.txt
Дальше устанавливаем сам gunicorn для обслуживания django через wsgi: pip install gunicorn
Сразу же устанавливаем whitenoise для работы со статическими файлами: pip install witenoise
7. Теперь переходим в settings.py и делаем следующие изменения: ALLOWED_HOSTS = ['*']
Добавляем static_root если у вас его нет: import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 8. Настраиваем работу с базой данных. Устанавливаем утилиту для более удобной работы: pip install dj-database-url
переходим опять в настройки и пишем: import dj-database-url
db_from_env = dj-database-url.config() DATABASE['default'].update(db_from_env) 9. Последний файл который нам нужен — requirements.txt, в нем будут все установленные библиотеки: pip freeze -> requirements.txt
У нас создался файл со всеми пакетами. Можете записать в него различные пакеты с их версиями. Обязательно надо записать эту строчку: psycopg2==2.8.6
Если при дальнейших действиях у вас возникнут ошибки, посмотрите, может вам надо добавить сюда какой либо пакет. 10. Ну и финал, загружаем на сервер. Переходим в консоль и пишем такие команды: git add .
git commit -m "Diploy" git push heroku main Если у вас не получилось с main, попробуйте: git push heroku master
И пошел процесс загрузки нашего проекта на heroku. Дальше вам в консоль напишет ссылку на наш проект. По ней мы будем переходить потом, а сейчас выполним все миграции: heroku run python manage.py migrate
И создадим super user-а: heroku run python manage.py createsuperuser
Переходим по раннее полученной ссылке, и видим наш проект. Вот так за 10 шагов мы загрузили наш проект на heroku и настроили базу данных. Всем спасибо за внимание. =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:56
Часовой пояс: UTC + 5