0Pricing
Flask Academy · Урок

Ограничение запросов с Flask-Limiter

Применяйте лимиты частоты для маршрутов и всего приложения.

«Ограничение запросов с Flask-Limiter» — бесплатный урок Flask Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Why Throttle At All

Without limits, one client can flood your API and starve everyone else. Rate limiting caps how often a caller may hit your routes.

Meet Flask-Limiter

The go-to tool is the Flask-Limiter extension. It watches incoming requests and rejects callers who go over their allowance.

Install It

You add it like any other extension with pip. One package gives you decorators and config for limiting traffic.

pip install Flask-Limiter

Identify the Caller

A limiter needs a key to count by. The usual choice is the client IP via the built-in get_remote_address helper.

from flask_limiter.util import get_remote_address

Create the Limiter

You build a Limiter and bind it to your app. The key function decides who each request counts against.

limiter = Limiter(get_remote_address, app=app)

Set a Default Limit

A default_limits list applies one cap to every route at once. It is your safety net for the whole app.

limiter = Limiter(get_remote_address, app=app,
    default_limits=["200 per day", "50 per hour"])

Per-Route Limits

Tighten a single endpoint with the @limiter.limit decorator. This route gets its own stricter rule.

@app.route("/login")
@limiter.limit("5 per minute")
def login():
    ...

Reading the Limit String

The string reads like plain English. 5 per minute means a caller may hit that route five times each minute.

"5 per minute"

What 429 Means

When a caller exceeds the cap, Flask-Limiter returns 429 Too Many Requests. It is the polite way to say slow down.

Exempt a Route

Some endpoints, like a health check, should never be throttled. Mark them with @limiter.exempt to skip all limits.

@app.route("/health")
@limiter.exempt
def health():
    return "ok"

Use a Shared Backend

In production you run many app processes, so counts must live in a shared storage_uri like Redis, not memory.

Limiter(get_remote_address, app=app,
    storage_uri="redis://localhost:6379")

Quick Check

Pick the status a throttled client receives.

Recap

You added Flask-Limiter, keyed limits by IP, set default and per-route caps, exempted health checks, and learned the 429 reply. Great job!

Часто задаваемые вопросы

Урок «Ограничение запросов с Flask-Limiter» бесплатный?

Да — полный текст урока «Ограничение запросов с Flask-Limiter» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.

Чему я научусь в уроке «Ограничение запросов с Flask-Limiter»?

Применяйте лимиты частоты для маршрутов и всего приложения. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Flask Academy?

Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Ограничение запросов с Flask-Limiter»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Flask Academy?

Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Ограничение запросов с Flask-Limiter
  2. Настройка CORS для браузерных клиентов
  3. Заголовки безопасности и HTTPS
  4. Проверка входных данных для защиты от внедрения
← Назад к Flask Academy