Spec-Zone.ru › Werkzeug 0.16

Дополнительные оболочки

Предупреждение

Устарело начиная с версии 0.15: Все классы в этом модуле были перемещены или устарели и будут удалены в версии 1.0. Проверьте документацию для статуса каждого класса.

werkzeug.contrib.wrappers

Дополнительные оболочки или миксины, предоставленные сообществом. Эти оболочки могут быть смешаны в объекты запросов, чтобы добавить дополнительную функциональность.

Пример:

from werkzeug.wrappers import Request as RequestBase
from werkzeug.contrib.wrappers import JSONRequestMixin

class Request(RequestBase, JSONRequestMixin):
    pass

После этого этот объект запроса предоставляет дополнительную функциональность класса JSONRequestMixin.

class werkzeug.contrib.wrappers.JSONRequestMixin

Устарело начиная с версии 0.15: Перемещено в werkzeug.wrappers.json.JSONMixin. Этот старый импорт будет удален в версии 1.0.

class werkzeug.contrib.wrappers.ProtobufRequestMixin

Добавить метод разбора protobuf в объект запроса. Это позволит разобрать входные данные через protobuf, если это возможно.

BadRequest будет поднято, если тип контента не protobuf или если данные не могут быть корректно обработаны.

Устарело начиная с версии 0.15: Этот миксин будет удалён в версии 1.0.

parse_protobuf(proto_type)

Обработать данные в экземпляр proto_type.

protobuf_check_initialization = True

По умолчанию ProtobufRequestMixin будет поднимать BadRequest, если объект не инициализирован. Вы можете обойти эту проверку, установив это свойство в False.

class werkzeug.contrib.wrappers.RoutingArgsRequestMixin

Этот миксин запроса добавляет поддержку аргументов маршрутизации wsgiorg спецификация.

Устарело начиная с версии 0.15: Этот миксин будет удалён в версии 1.0.

routing_args

Позиционные аргументы URL как tuple.

routing_vars

Ключевые аргументы URL как dict.

class werkzeug.contrib.wrappers.ReverseSlashBehaviorRequestMixin

Этот миксин изменяет поведение слеша в конце script_root и path. Это позволяет использовать urljoin() напрямую в путях.

Поскольку он изменяет поведение Request, этот класс должен быть смешан до фактического класса запроса:

class MyRequest(ReverseSlashBehaviorRequestMixin, Request):
    pass

Этот пример демонстрирует различия (для приложения, смонтированного на /application, и запроса к /application/foo/bar):

обычное поведение обратное поведение
script_root /application /application/
path /foo/bar foo/bar

Устарело начиная с версии 0.15: Этот миксин будет удалён в версии 1.0.

path

Запрошенный путь как unicode. Он работает как обычный путь в среде WSGI, но не будет включать начальный слеш.

script_root

Корневой путь скрипта, включающий конечный слеш.

class werkzeug.contrib.wrappers.DynamicCharsetRequestMixin

«Если этот миксин смешан с классом запроса, он предоставит динамическое свойство charset. Это означает, что если кодировка передается в заголовках типа контента, она используется оттуда.

Поскольку он изменяет поведение Request, этот класс должен быть смешан до фактического класса запроса:

class MyRequest(DynamicCharsetRequestMixin, Request):
    pass

По умолчанию объект запроса предполагает, что кодировка URL такая же, как кодировка данных. Если кодировка меняется в каждом запросе в зависимости от передаваемых данных, не стоит позволять URL меняться на основании этого. Большинство браузеров предполагают либо utf-8, либо latin1 для URL, если они не могут определить кодировку. Сильно рекомендуется установить кодировку URL на utf-8:

class MyRequest(DynamicCharsetRequestMixin, Request):
    url_charset = 'utf-8'

Устарело начиная с версии 0.15: Этот миксин будет удалён в версии 1.0.

Добавлен в версии 0.6.

charset

Кодировка из типа контента.

default_charset = 'latin1'

кодировка по умолчанию, которая предполагается, если заголовок типа контента отсутствует или не содержит параметра кодировки. По умолчанию — latin1, что соответствует HTTP-спецификации для кодировки по умолчанию. Однако, возможно, вы захотите установить это значение на utf-8, чтобы лучше поддерживать браузеры, которые не передают кодировку для входящих данных.

unknown_charset(charset)

Вызывается, если кодировка была указана, но не поддерживается модулем кодировок Python. По умолчанию используется latin1, чтобы не потерять никакую информацию. Вы можете переопределить этот метод, чтобы изменить поведение.

Параметры: charset – кодировка, которая не найдена.
Возвращает: кодировка для замены.
class werkzeug.contrib.wrappers.DynamicCharsetResponseMixin

Если этот миксин смешан с классом ответа, он предоставит динамическое свойство charset. Это означает, что если кодировка находится и сохраняется в заголовке Content-Type, он обновляется автоматически. Это также означает небольшую потерю производительности, но может быть полезно, если вы работаете с различными кодировками в ответах.

Поскольку свойство charset — не свойство на уровне класса, значение по умолчанию сохраняется в default_charset.

Поскольку он изменяет поведение Response, этот класс должен быть смешан до фактического класса ответа:

class MyResponse(DynamicCharsetResponseMixin, Response):
    pass

Устарело начиная с версии 0.15: Этот миксин будет удалён в версии 1.0.

Добавлен в версии 0.6.

charset

Кодировка ответа. Она сохраняется внутри заголовка Content-Type в качестве параметра.

default_charset = 'utf-8'

кодировка по умолчанию.

© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/0.16.x/contrib/wrappers/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API