0Pricing
Flask Academy · Урок

Локальные данные контекста и безопасность потоков

Узнайте, как прокси сохраняют корректность между запросами.

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

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

The Magic Question

How does one global request object stay correct when many visitors hit your app at once? The answer is context locals.

They Look Global

Objects like request and g look like plain globals you import once. But they are special proxies, not ordinary shared variables.

from flask import request

Proxies Point Per Context

A proxy forwards every access to the real object for the current context. Each request sees its own data through the same import.

Context Locals

Flask calls these context locals. They behave like thread locals but key off the active context, so concurrent requests never collide.

Thread Safety

Two threads handling two requests each get their own bound context. So request in one thread never shows another thread's data.

Beyond Threads

Modern Flask uses contextvars, so isolation holds even for greenlets and async tasks, not just operating system threads.

One Import, Many Values

This is why a single import at the top of your file is safe. The proxy resolves to a different real object for every request.

Watch the Background

Spawn a raw thread from a view and it has no context. Accessing request there fails unless you push a context yourself.

Pass Values, Not Proxies

Hand a background worker the actual value it needs, like a user id, instead of the request proxy, which will be gone by then.

uid = request.args.get("id")
start_job(uid)

Get the Real Object

Need the underlying object behind a proxy? Use _get_current_object, but reach for it rarely and only when you truly must.

real = request._get_current_object()

Why It Feels Easy

Context locals are why Flask feels simple: you import request once and trust it, while the framework quietly keeps every request isolated.

Quick Check

Let us confirm how proxies stay safe.

Recap

Flask's globals are really context-local proxies. They resolve per request, keeping threads and async tasks isolated, so one import stays safe everywhere. 🎉

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

Урок «Локальные данные контекста и безопасность потоков» бесплатный?

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

Чему я научусь в уроке «Локальные данные контекста и безопасность потоков»?

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

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

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

Сколько времени занимает урок «Локальные данные контекста и безопасность потоков»?

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

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

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

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

  1. Контекст приложения и контекст запроса
  2. current_app и объект g
  3. Локальные данные контекста и безопасность потоков
  4. Помещение контекста в сценариях и оболочках
← Назад к Flask Academy