Разрабатывайте приложение Flask с использованием сервера разработки

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом руководстве вы узнаете, как использовать сервер разработки в Flask для запуска вашего приложения Flask при локальной разработке. Сервер разработки предоставляет интерактивный отладчик и автоматически перезагружает код при внесении изменений. В этом руководстве вас проведут по шагам запуска сервера разработки и обработке общих проблем, которые могут возникнуть.

Примечание: вам нужно создать файл кода самостоятельно и запустить его в среде. Вы можете просмотреть статус сервиса Flask на Web 5000.

Настройка приложения Flask

Прежде чем мы сможем запустить сервер разработки, нам нужно настроить приложение Flask. Создайте новый файл Python под названием app.py и добавьте следующий код:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Flask!'

if __name__ == "__main__":
    app.run(debug=True)

В этом коде мы создаем приложение Flask и определяем маршрут, который возвращает простое сообщение "Hello, Flask!". Блок if __name__ == "__main__": гарантирует, что приложение Flask запускается только при непосредственном выполнении скрипта, а не при импорте его в качестве модуля.

Запуск сервера разработки с помощью Flask CLI

Самый простой способ запустить сервер разработки - использовать команду Flask CLI flask run. Откройте терминал или командную строку, перейдите в каталог, где находится файл app.py, и выполните следующую команду:

flask run

Это запустит сервер разработки по адресу http://localhost:5000/. Вы можете получить доступ к своему приложению Flask, открыв веб-браузер и введя этот URL-адрес.

Включение режима отладки

Для включения режима отладки, который предоставляет интерактивный отладчик и автоматически перезагружает код при внесении изменений, добавьте параметр --debug к команде flask run:

flask run --debug

Теперь любые изменения, которые вы вносите в свой код, вызовут автоматическую перезагрузку сервера разработки.

Указание файла приложения

По умолчанию Flask будет искать файл с именем app.py для запуска в качестве приложения Flask. Если у вас файл имеет другое имя или находится в другом каталоге, вы можете использовать параметр --app для указания файла приложения:

flask run --app myapp.py

Замените myapp.py именем вашего файла приложения.

Адрес уже занят

Если при попытке запустить сервер вы видите ошибку OSError с сообщением "Address already in use", это означает, что другой процесс уже использует порт 5000, который является стандартным портом для сервера разработки. Вы можете либо определить и остановить другой процесс, либо выбрать другой порт.

Для определения процесса, который использует порт 5000, вы можете использовать команду netstat или lsof. Вот примеры для Linux, macOS и Windows:

  • Linux:
netstat -nlp | grep 5000
  • macOS / Linux:
lsof -P -i :5000
  • Windows:
-ano > netstat | findstr 5000

После того, как вы определили процесс, вы можете использовать другие инструменты операционной системы для его остановки. После остановки процесса вы должны быть able запустить сервер разработки без каких-либо проблем.

Запуск сервера разработки из Python

Кроме использования команды Flask CLI, вы также можете запустить сервер разработки из Python кода. Добавьте следующий код в конец файла app.py:

if __name__ == "__main__":
    app.run(debug=True)

Теперь вы можете запустить сервер разработки, выполнив файл app.py с помощью Python:

python app.py

Это запустит сервер разработки, и вы сможете получить доступ к своему приложению Flask так же, как и раньше.

Резюме

В этом руководстве вы узнали, как использовать сервер разработки в Flask для запуска вашего приложения Flask во время локального разработки. Вы узнали, как запускать сервер разработки с помощью команды Flask CLI, включать режим отладки, указывать файл приложения и обрабатывать общие проблемы, такие как "Адрес уже занят". Вы также узнали, как запускать сервер разработки из Python кода. С помощью сервера разработки вы можете легко тестировать и отлаживать ваше приложение Flask, прежде чем развернуть его в продакшен.