Контекст приложения и контекст запроса
Два контекста и данные, хранящиеся в каждом из них.
«Контекст приложения и контекст запроса» — бесплатный урок Flask Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Two Kinds of Context
Flask runs your code inside a context, a temporary bubble holding the data your view needs. There are two flavors: an app context and a request context.
The App Context
The application context tracks which app is active right now. It exists whenever Flask is doing work, even outside a real web request.
The Request Context
The request context wraps a single incoming request. It holds the URL, headers, and form data for that one visitor only.
Request Pushes App Too
When a request arrives, Flask pushes a request context, and an app context rides along automatically. So inside a view, both are always active.
Who Lives in the App Context
The app context gives you current_app and the g object. Use them for config, the database handle, and other per-request shared data.
from flask import current_app
print(current_app.name)Who Lives in the Request Context
The request context gives you request and session. These describe the visitor: their path, query string, posted form, and cookies.
from flask import request
path = request.pathWhy Split Them?
Splitting contexts means app-level work, like a startup script, can use current_app without pretending a fake web request exists.
Outside Any Context
Touch request with no active context and Flask raises a runtime error. The proxy has nothing real to point at yet.
Contexts Are Stacked
Flask keeps contexts on a stack. Each is pushed when work starts and popped when it ends, so the right data is always on top.
Lifespan of a Context
A request context lives only for that one request. Once the response is sent, Flask pops both contexts and they vanish.
Mental Model
Think of it this way: the app context answers which app, and the request context answers which visitor. Inside a view you have both at once.
Quick Check
Let us sort the two contexts apart.
Recap
Two bubbles, two jobs: the app context says which app, the request context says which visitor. A request pushes both, so views always have each. 🎉
Часто задаваемые вопросы
Урок «Контекст приложения и контекст запроса» бесплатный?
Да — полный текст урока «Контекст приложения и контекст запроса» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «Контекст приложения и контекст запроса»?
Два контекста и данные, хранящиеся в каждом из них. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Контекст приложения и контекст запроса»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Контекст приложения и контекст запроса
- current_app и объект g
- Локальные данные контекста и безопасность потоков
- Помещение контекста в сценариях и оболочках