flask
flaskЛекцияPython/Flask

Урок 1: Введение в Web-разработку на Flask

👀 Загрузка...

Добро пожаловать на курс по веб-разработке! Сегодня мы перестанем писать программы, которые работают только в черном окне терминала. Мы создадим программу, с которой можно взаимодействовать через браузер — Chrome, Safari или Firefox.

Цель урока

Понять, как работает интернет, и запустить свой первый веб-сервер на Python с помощью библиотеки Flask.


Часть 1: Как работает Интернет? (Аналогия с рестораном)

Схема клиент-серверной архитектуры на примере ресторана
Схема клиент-серверной архитектуры на примере ресторана

Интернет кажется сложным, но его базовый принцип прост. Это диалог между Клиентом и Сервером. Чтобы понять это, представим обычный ресторан.

Это ваш веб-браузер (например, Google Chrome). Вы сидите за столиком и хотите получить информацию (еду).

Главное правило веба

Кухня (Сервер) ничего не готовит, пока Клиент (Посетитель) не сделает заказ. Сервер всегда ждет инициативы от Клиента.


Часть 2: Что такое Flask?

Python сам по себе умеет многое, но он не знает, как быть "веб-официантом" из коробки. Ему нужны инструменты.

Flask — это микрофреймворк (набор инструментов) для Python.

  • Это как готовый набор оборудования для кухни.
  • Вместо того чтобы строить кухню с нуля (проводить газ, воду), мы берем Flask, где всё уже подключено.
  • Нам остается только нанять поваров (написать функции) и составить меню (прописать маршруты).

Чтобы начать, нам нужно установить его в терминале:

pip install flask

Часть 3: Наш первый код (Hello World)

Давайте посмотрим на анатомию простейшего приложения. Код состоит всего из 5 основных шагов.

Файл app.py:

from flask import Flask  # 1. Достаем инструменты из коробки
 
app = Flask(__name__)    # 2. Создаем приложение (строим наш ресторан)
 
@app.route("/")          # 3. Вешаем табличку на дверь (Главный вход)
def hello():             # 4. Повар (функция), который готовит ответ
    return "Привет, мир!"
 
if __name__ == "__main__":
    app.run(debug=True)  # 5. Открываем ресторан для посетителей

Разбор важных частей:

  • app = Flask(__name__): Эта строчка создает объект приложения. Это сердце нашего сайта.
  • app.run(debug=True): Эта команда запускает веб-сервер на вашем компьютере. Параметр debug=True означает, что если мы ошибемся в коде, браузер покажет нам подробную ошибку, а не просто белый экран.

Часть 4: Магия Маршрутов (Routes)

Схема работы маршрутизации URL-адресов во Flask
Схема работы маршрутизации URL-адресов во Flask

Самая важная концепция Flask — это Маршрутизация. В браузере мы вводим разные адреса (URL). Как сервер понимает, что нам показать?

Декоратор @app.route

Представьте, что ваши функции Python сидят в закрытых комнатах. Снаружи к ним не попасть. Декоратор @app.route("/") — это табличка на двери или номер кабинета.

  • Если пользователь стучится по адресу / (главная страница) -> Flask будит функцию hello().
  • Если пользователь стучится по адресу /about -> Flask ищет функцию с табличкой @app.route("/about").

Золотое правило маршрутизации

Один адрес (URL) — одна функция.

Пример кода с двумя страницами:

@app.route("/")
def index():
    return "Это главная страница"
 
@app.route("/about")
def about_me():
    return "Страница обо мне"

Часть 5: От текста к HTML

Если мы просто возвращаем строку return "Привет", браузер показывает скучный текст. Но браузеры созданы для HTML (HyperText Markup Language).

Мы можем прямо из Python возвращать HTML-код, и браузер его "отрисует" (превратит в красивый элемент).

Пример:

@app.route("/bold")
def bold_text():
    # Тег <h1> делает текст огромным заголовком
    return "<h1>ВНИМАНИЕ!</h1> <p>Это важный текст.</p>"

Теперь наш Python-код управляет тем, как выглядит страница у пользователя!


Заключение и Домашнее задание

Итоги урока:

  1. Интернет — это обмен сообщениями между Клиентом (браузером) и Сервером.
  2. Flask — библиотека, превращающая Python-скрипт в веб-сервер.
  3. Localhost (127.0.0.1) — адрес вашего компьютера в сети.
  4. @app.route — связывает адрес в браузере с функцией в коде.

Домашнее задание: Сайт-визитка

Создайте приложение с тремя маршрутами:

  1. / — Заголовок с вашим именем.
  2. /hobby — Страница с описанием вашего хобби (используйте жирный шрифт).
  3. /secret — Секретная страница с любым паролем или шуткой.

Проверь себя!

Что является главным правилом взаимодействия между Клиентом и Сервером в интернете?

За что отвечает декоратор @app.route в приложении на Flask?