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

Метод copy

Метод copy применяется к объекту запроса request и возвращает новый объект Request, который является независимой копией исходного. Метод не принимает параметров. Копия содержит те же данные: путь, метод, заголовки, параметры и тело запроса, что и оригинал.

Метод удобно использовать, когда нужно изменить состояние запроса, не затрагивая оригинальный объект. Например, при path_shift или при подмене значений атрибутов в промежуточных обработчиках.

Синтаксис

request.copy()

Пример

Давайте получим копию объекта запроса и убедимся, что это разные объекты:

from bottle import Bottle, request app = Bottle() @app.route('/') def index(): req = request.copy() return str(req is request)

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

False

Пример

Давайте скопируем запрос и изменим его путь через path_shift, не затрагивая оригинал:

from bottle import Bottle, request app = Bottle() @app.route('/user/<name>') def user(name): req = request.copy() req.path_shift() return req.path

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

/user/abcde

Пример

Давайте проверим, что копия содержит те же параметры запроса, что и оригинал:

from bottle import Bottle, request app = Bottle() @app.route('/') def index(): req = request.copy() return str(req.query_string == request.query_string)

Результат выполнения кода для адреса /?a=1&b=2:

True

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

  • класс Request,
    который представляет объект HTTP-запроса
  • метод path_shift,
    который сдвигает путь запроса
  • атрибут query,
    который хранит GET-параметры запроса
  • атрибут environ,
    который содержит WSGI-окружение запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить