Назад к вопросам
Junior — Middle
63
Имели ли вы опыт работы с глобальным объектом flask.g в своих проектах?
Ответ от нейросети
sobes.tech AI
flask.g — это глобальный объект в Flask, который используется для хранения данных, специфичных для текущего запроса. Он существует только в контексте одного запроса и позволяет удобно передавать информацию между функциями и обработчиками без использования глобальных переменных.
Например, можно сохранить соединение с базой данных в flask.g, чтобы использовать его в разных местах обработчика:
from flask import Flask, g
import sqlite3
app = Flask(__name__)
def get_db():
if 'db' not in g:
g.db = sqlite3.connect('database.db')
return g.db
@app.route('/')
def index():
db = get_db()
# использовать db для запросов
return 'Hello'
@app.teardown_appcontext
def close_db(exception):
db = g.pop('db', None)
if db is not None:
db.close()
Таким образом, flask.g помогает хранить и управлять ресурсами, связанными с текущим запросом.