РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
543 of 643 menu

Метод copy

Метод copy применяется к объекту RequestContext и возвращает новый объект RequestContext, который содержит те же данные, что и оригинал, но является независимым. Это полезно, когда нужно сохранить контекст запроса для дальнейшего использования, например в фоновом потоке, не изменяя при этом оригинальный контекст. Метод не принимает параметров.

Синтаксис

ctx.copy()

Пример

Давайте получим текущий контекст запроса и создадим его копию:

from flask import Flask, request from flask.globals import request_ctx app = Flask(__name__) @app.route('/') def index(): ctx = request_ctx._get_current_object() ctx_copy = ctx.copy() return f"original: {ctx.request.path}, copy: {ctx_copy.request.path}"

Результат выполнения кода для адреса /:

original: /, copy: /

Пример

Давайте создадим копию контекста и используем её внутри другого потока:

from flask import Flask, request from flask.globals import request_ctx import threading app = Flask(__name__) @app.route('/user/<name>') def user(name): ctx = request_ctx._get_current_object() ctx_copy = ctx.copy() def worker(): print(f"thread path: {ctx_copy.request.path}") thread = threading.Thread(target=worker) thread.start() thread.join() return f"name: {name}"

Результат выполнения кода для адреса /user/abcde:

"thread path: /user/abcde"

Смотрите также

  • класс RequestContext,
    который представляет контекст запроса
  • метод push,
    который помещает контекст в стек
  • метод pop,
    который извлекает контекст из стека
  • метод match_request,
    который сопоставляет запрос с маршрутом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить