Flask на Heroku: публикация приложения

Этот урок описывает публикацию сайта на удалённый сервер с использованием Heroku. Heroku предоставляет бесплатный доступ для сайтов на Python, Ruby, Java и других языках. Платные тарифы позволяют расширить функциональность (собственный домен, дополнительные базы данных), но для этого урока достаточно бесплатного варианта.

Подготовка к публикации

  1. Регистрация/Авторизация на Heroku: Зарегистрируйтесь или авторизуйтесь на сайте Heroku (ссылка в описании). При проблемах с регистрацией, используйте электронную почту Gmail.
  2. Установка Heroku CLI: Скачайте и установите Heroku CLI (командная строка). Инструкции по установке для Windows, macOS и Linux доступны на сайте Heroku. Для macOS используйте команду heroku install в терминале; для Linux — аналогичную команду.

Развертывание проекта

  1. Авторизация: В терминале проекта выполните команду heroku login. Авторизуйтесь через браузер.
  2. Создание приложения: На сайте Heroku создайте новое приложение. Выберите имя (например, «flask-itprager-john»), регион (влияет на местоположение сервера) и нажмите «Create».
  3. Подключение Git: Для загрузки проекта на Heroku используется Git. Установите Git, если он ещё не установлен (ссылка на скачивание в описании).
  4. Инициализация репозитория: В терминале проекта выполните команду git init. Файлы проекта будут помечены как неотслеживаемые (обычно отображаются красным цветом).
  5. Подключение к удалённому репозиторию: Скопируйте строку из инструкции Heroku и вставьте её в терминал. Это свяжет ваш локальный репозиторий с удалённым репозиторием на Heroku.

Настройка проекта

Для корректной работы проекта на Heroku:

  1. Установка gunicorn: Установите библиотеку gunicorn командой pip install gunicorn. Она отвечает за запуск приложения на сервере.
  2. Создание requirements.txt: Создайте файл requirements.txt командой pip freeze > requirements.txt. Этот файл содержит список зависимостей проекта.
  3. Создание Procfile: Создайте файл Procfile (без расширения) и добавьте строку: web: gunicorn your_app:app. Замените your_app:app на имя вашего основного приложения (например, app:app).

Загрузка проекта

  1. Добавление файлов в Git: git add .
  2. Создание коммита: git commit -m "all files"
  3. Загрузка на Heroku: git push heroku master

После успешной загрузки Heroku предоставит ссылку на ваш опубликованный сайт. База данных (если использовалась SQLite) также будет развернута. Изменения, внесенные на сайте, будут корректно отображаться.

В этом уроке описан процесс публикации проекта Flask на сервере Heroku с использованием Git для управления версиями и развертывания приложения. Теперь ваш проект доступен в интернете!

Что будем искать? Например,программа