Найти в Дзене
Анастасия Софт

🌐 Web-разработка на Python (FastAPI / Flask). Как быстро поднять бэкенд, API или простое веб-приложение

Представим: ты придумал классный сервис. Например, таск-менеджер для котов. Или API для заметок. Или мини-блог, чтобы писать гневные посты ночью и удалять утром. Что делать дальше? Ответ — берём Python, подключаем Flask или FastAPI и запускаем сервер за 10 минут.
Даже если ты новичок — не страшно. Разберёмся по шагам. ⚡ Вывод: pip install flask # app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "👋 Привет, мир! Flask работает."
@app.route('/ping')
def ping():
return {"status": "ok"}
if __name__ == '__main__':
app.run(debug=True) 🔍 Комментарии: pip install fastapi uvicorn # main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "👋 Hello from FastAPI"}
@app.get("/ping")
async def ping():
return {"status": "pong"} Запуск: uvicorn main:app --reload И… ОПА — зайди на http://127.0.0.1:8000/docs
➡ Swagger-документация уже готова 📌 FastAPI сам анализирует параметры, делае
Оглавление
Web-разработка на Python (FastAPI / Flask). Как быстро поднять бэкенд, API или простое веб-приложение
Web-разработка на Python (FastAPI / Flask). Как быстро поднять бэкенд, API или простое веб-приложение

📦 Введение

Представим: ты придумал классный сервис. Например, таск-менеджер для котов. Или API для заметок. Или мини-блог, чтобы писать гневные посты ночью и удалять утром.

Что делать дальше?

Ответ — берём Python, подключаем Flask или FastAPI и запускаем сервер за 10 минут.

Даже если ты новичок — не страшно. Разберёмся по шагам.

🚀 Почему это в тренде?

  • Стартапам нужно MVP за неделю, а не через полгода
  • FastAPI и Flask позволяют поднять API в 10 строчках
  • Проще писать и читать, чем Node.js с миллионом зависимостей
  • Идеально для микросервисов, чат-ботов, панелей управления, backend для мобильных приложений

🛠️ Что выбрать: Flask или FastAPI?

Плюсы Flask и FastAPI
Плюсы Flask и FastAPI

⚡ Вывод:

  • Flask — если хочешь просто и понятно
  • FastAPI — если хочешь быстро, масштабируемо и с автогенерацией документации

👷 Пример 1: Простейший API с Flask

pip install flask

# app.py
from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
return "👋 Привет, мир! Flask работает."

@app.route('/ping')
def ping():
return {"status": "ok"}

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

🔍 Комментарии:

  • @app.route('/') — указывает маршрут (адрес)
  • debug=True — чтобы видеть ошибки, пока разрабатываем
  • Результат: заходим на http://127.0.0.1:5000 — и видим наше сообщение

🧠 Пример 2: Простейший API с FastAPI

pip install fastapi uvicorn

# main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
return {"message": "👋 Hello from FastAPI"}

@app.get("/ping")
async def ping():
return {"status": "pong"}

Запуск:

uvicorn main:app --reload

И… ОПА — зайди на http://127.0.0.1:8000/docs

Swagger-документация уже готова

📌 FastAPI сам анализирует параметры, делает документацию, проверку данных. Красота!

📓 Пример 3: API для заметок (mini CRUD)

# main.py
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

# Простая модель данных
class Note(BaseModel):
title: str
content: str

# Фейковая база
notes = []

@app.post("/notes")
async def create_note(note: Note):
notes.append(note)
return {"msg": "Заметка добавлена!"}

@app.get("/notes")
async def get_notes():
return notes

📌 Пример POST-запроса через Swagger:

{
"title": "Идея стартапа",
"content": "Приложение для сна котов"
}

🧰 Пример 4: Мини-блог с Flask и шаблонами

pip install flask

Создаём структуру:

Структура
Структура

app.py:

from flask import Flask, render_template

app = Flask(__name__)

posts = [
{"title": "Привет, Flask!", "content": "Это мой первый пост."},
{"title": "Flask — круто", "content": "Пишу простой блог."}
]

@app.route("/")
def index():
return render_template("index.html", posts=posts)

templates/index.html:

<!DOCTYPE html>
<html>
<head><title>Блог</title></head>
<body>
<h1>Мой мини-блог</h1>
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
<hr>
{% endfor %}
</body>
</html>

📌 render_template загружает HTML-шаблон и вставляет данные

✅ Пример 5: Таск-менеджер с FastAPI + SQLite (базовая логика)

pip install fastapi uvicorn sqlmodel

from fastapi import FastAPI
from sqlmodel import Field, SQLModel, create_engine, Session, select

class Task(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
title: str
done: bool = False

app = FastAPI()
engine = create_engine("sqlite:///tasks.db")
SQLModel.metadata.create_all(engine)

@app.post("/tasks")
def create_task(task: Task):
with Session(engine) as session:
session.add(task)
session.commit()
session.refresh(task)
return task

@app.get("/tasks")
def get_tasks():
with Session(engine) as session:
return session.exec(select(Task)).all()

📌 Мини-база данных + API — готов таск-менеджер

💡 Что ещё можно сделать?

  • Подключить фронтенд: React, Vue, даже HTML
  • Аутентификацию (JWT, OAuth)
  • Расширить до микросервиса с Docker и Kubernetes
  • Превратить в мобильное API

📊 Где пригодится:

  • 🛠️ Стартапы и MVP
  • 💬 Чат-боты и AI-интеграции
  • 📱 Backend для мобильных приложений
  • 🧾 Панели администратора
  • 📡 Вебхуки и обработка данных

📚 Резюме

-4

🚀 Хочешь продолжение?

  • Защитить API (токены, логины)
  • Генерация PDF отчётов
  • Интеграция с Telegram
  • Деплой на Vercel, Heroku или сервер

Пиши в комментах/ответ — и сделаем! 😎