0Pricing
Flask Academy · Урок

current_app и объект g

Получайте доступ к активному приложению и хранилищу запроса.

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

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

Meet current_app

current_app is a proxy that always points to the app handling the work right now. Import it whenever you need the active application.

from flask import current_app

Why Not Import app?

Importing your app object directly causes circular imports as projects grow. current_app sidesteps that by resolving the app at runtime.

Reading Config

A common use is reading settings: current_app.config gives you the active app's configuration without importing the app module.

key = current_app.config["SECRET_KEY"]

It Needs a Context

current_app only works while an app context is active. Inside a view that is automatic, since the request pushed one for you.

Meet the g Object

g is a simple scratchpad for one request. Attach anything to it and read it back later in the same request.

from flask import g
g.user = "alice"

g Is Per Request

The g object is reset for every request. Data you stash on it never leaks into another visitor's request.

A Typical g Use

Use g to share work across functions in one request, like caching the current user so you fetch it from the database only once.

if "db" not in g:
    g.db = connect()

g Is Not Storage

Do not treat g as a database. It forgets everything the moment the request ends, so use it only for that request's lifetime.

g Lives in the App Context

Surprisingly, g belongs to the app context, not the request context. In practice both exist during a request, so it just works.

Cleaning Up With g

Pair g with teardown handlers to close what you opened, like closing a database connection after the response is sent.

@app.teardown_appcontext
def close(exc):
    g.pop("db", None)

current_app and g Together

They pair nicely: read settings from current_app, then stash request-specific results on g so the rest of the request can reuse them.

Quick Check

Let us pin down what g is for.

Recap

Two handy proxies: current_app finds the active app and its config, while g is a per-request scratchpad you wipe clean each time. 🎉

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

Урок «current_app и объект g» бесплатный?

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

Чему я научусь в уроке «current_app и объект g»?

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

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

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

Сколько времени занимает урок «current_app и объект g»?

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

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

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

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

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