Структуры данных
Werkzeug предоставляет некоторые подклассы стандартных объектов Python, расширяя их дополнительными функциями. Некоторые из них используются для придания им неизменяемости, другие — для изменения некоторых семантик, чтобы лучше работать с HTTP.
Для общих целей
Изменено в версии 0.6: Классы общего назначения теперь сериализуются в каждом протоколе, если сериализуемы содержащиеся объекты. Это означает, что FileMultiDict не будет сериализоваться, как только он будет содержать файл.
-
class werkzeug.datastructures.TypeConversionDict -
Работает как обычный словарь, но метод
get()может выполнять преобразования типов.MultiDictиCombinedMultiDictявляются подклассами этого класса и предоставляют ту же функцию.Новое в версии 0.5.
-
get(key, default=None, type=None) -
Возвращает значение по умолчанию, если запрашиваемые данные не существуют. Если
typeпредоставлен и является вызываемым объектом, он должен преобразовать значение, вернуть его или вызватьValueError, если это невозможно. В этом случае функция вернёт значение по умолчанию, как если бы значение не было найдено:>>> d = TypeConversionDict(foo='42', bar='blub') >>> d.get('foo', type=int) 42 >>> d.get('bar', -1, type=int) -1Параметры: - ключ – Ключ для поиска.
-
значение_по_умолчанию – Значение по умолчанию, которое будет возвращено, если ключ не может быть найден. Если не указано иначе, возвращается
None. -
тип – Вызываемый объект, используемый для преобразования значения в
MultiDict. Если данный вызываемый объект вызываетValueError, возвращается значение по умолчанию.
-
-
class werkzeug.datastructures.ImmutableTypeConversionDict -
Работает как
TypeConversionDict, но не поддерживает изменения.Новое в версии 0.5.
-
class werkzeug.datastructures.MultiDict(mapping=None) -
A
MultiDict— это подкласс словаря, предназначенный для работы с несколькими значениями для одного ключа, что, например, используется функциями парсинга в обёртках. Это необходимо, потому что некоторые элементы HTML-формы передают несколько значений для одного ключа.MultiDictреализует все стандартные методы словаря. Внутренне он сохраняет все значения для ключа в виде списка, но стандартные методы доступа к словарю возвращают только первое значение для ключа. Если вам нужно получить доступ к другим значениям, используйте методыlist, как описано ниже.Базовое использование:
>>> d = MultiDict([('a', 'b'), ('a', 'c')]) >>> d MultiDict([('a', 'b'), ('a', 'c')]) >>> d['a'] 'b' >>> d.getlist('a') ['b', 'c'] >>> 'a' in d TrueОн ведёт себя как обычный словарь, поэтому все функции словаря будут возвращать только первое значение, когда для одного ключа найдено несколько значений.
Начиная с Werkzeug 0.3, исключение
KeyError, генерируемое этим классом, также является подклассом исключенияBadRequestHTTP и будет отображать страницу для400 BAD REQUESTпри перехвате в универсальном обработчике HTTP-исключений.Объект
MultiDictможно создать из итерируемого объекта кортежей(key, value), словаря,MultiDictили, начиная с Werkzeug 0.2, с использованием ключевых параметров.Параметры: mapping – начальное значение для MultiDict. Может быть обычным словарем, итерируемым объектом кортежей(key, value)илиNone.-
add(key, value) -
Добавляет новое значение для ключа.
Новое в версии 0.6.
Параметры: - key – ключ для значения.
- value – добавляемое значение.
-
clear() → None. Remove all items from D.
-
copy() -
Возвращает поверхностную копию этого объекта.
-
deepcopy(memo=None) -
Возвращает глубокую копию этого объекта.
-
fromkeys() -
Создаёт новый словарь с ключами из итерируемого объекта и значениями, установленными в значение.
-
get(key, default=None, type=None) -
Возвращает значение по умолчанию, если запрошенные данные не существуют. Если
typeуказан и является вызываемым объектом, он должен преобразовать значение, вернуть его или поднятьValueError, если это невозможно. В этом случае функция вернёт значение по умолчанию, как если бы значение не было найдено:>>> d = TypeConversionDict(foo='42', bar='blub') >>> d.get('foo', type=int) 42 >>> d.get('bar', -1, type=int) -1Параметры: - key – Искомый ключ.
-
default – Значение по умолчанию, которое будет возвращено, если ключ не найден. Если не указано, возвращается
None. -
type – Вызываемый объект, используемый для приведения значения в
MultiDict. Если этот вызываемый объект подниметValueError, возвращается значение по умолчанию.
-
getlist(key, type=None) -
Возвращает список элементов для заданного ключа. Если этого ключа нет в
MultiDict, возвращается пустой список. Так же как иgetgetlistпринимает параметрtype. Все элементы будут преобразованы с помощью вызываемого объекта, определённого там.Параметры: - key – Искомый ключ.
-
type – Вызываемый объект, используемый для приведения значения в
MultiDict. Если этот вызываемый объект подниметValueError, значение будет удалено из списка.
Возвращает: список
listвсех значений для ключа.
-
items(multi=False) -
Возвращает итератор пар
(key, value).Параметры: multi – Если установлено в True, возвращаемый итератор будет содержать пару для каждого значения каждого ключа. В противном случае он будет содержать только пары для первого значения каждого ключа.
-
keys() → a set-like object providing a view on D's keys
-
lists() -
Возвращает итератор пар
(key, values), где значения — список всех значений, связанных с ключом.
-
listvalues() -
Возвращает итератор всех значений, связанных с ключом. Сцепление
keys()и это то же самое, что вызовlists():>>> d = MultiDict({"foo": [1, 2, 3]}) >>> zip(d.keys(), d.listvalues()) == d.lists() True
-
pop(key, default=no value) -
Извлекает первый элемент для списка в словаре. После этого ключ удаляется из словаря, и дополнительные значения игнорируются:
>>> d = MultiDict({"foo": [1, 2, 3]}) >>> d.pop("foo") 1 >>> "foo" in d FalseПараметры: - key – ключ для извлечения.
- default – если указано, значение, которое будет возвращено, если ключ отсутствует в словаре.
-
popitem() -
Извлекает элемент из словаря.
-
popitemlist() -
Извлекает
(key, list)кортеж из словаря.
-
poplist(key) -
Извлекает список для ключа из словаря. Если ключ отсутствует в словаре, возвращается пустой список.
Изменено в версии 0.5: Если ключ больше не существует, возвращается список вместо повышения ошибки.
-
setdefault(key, default=None) -
Возвращает значение для ключа, если оно находится в словаре, иначе возвращает
defaultи устанавливает это значение дляkey.Параметры: - key – Искомый ключ.
-
default – Значение по умолчанию, которое будет возвращено, если ключ отсутствует в словаре. Если не указано, возвращается
None.
-
setlist(key, new_list) -
Удаляет старые значения для ключа и добавляет новые. Обратите внимание, что список, в который вы передаёте значения, будет скопирован поверхностно перед вставкой в словарь.
>>> d = MultiDict() >>> d.setlist('foo', ['1', '2']) >>> d['foo'] '1' >>> d.getlist('foo') ['1', '2']Параметры: - key – ключ, для которого устанавливаются значения.
- new_list – итерируемый объект с новыми значениями для ключа. Старые значения сначала удаляются.
-
setlistdefault(key, default_list=None) -
Подобно
setdefault, но устанавливает несколько значений. Возвращаемый список — это не копия, а список, фактически используемый внутри. Это означает, что вы можете поместить новые значения в словарь, добавив элементы в список:>>> d = MultiDict({"foo": 1}) >>> d.setlistdefault("foo").extend([2, 3]) >>> d.getlist("foo") [1, 2, 3]Параметры: - key – Искомый ключ.
- default_list – Итерируемый объект значений по умолчанию. Он либо копируется (если это был список), либо преобразуется в список перед возвратом.
Возвращает: список
list
-
-
to_dict(flat=True) -
Возвращает содержимое в виде обычного словаря. Если
flatравноTrue, возвращаемый словарь будет содержать только первый элемент, еслиflatравноFalse, все значения будут возвращены в виде списков.Параметры: flat – Если установлено в False, возвращаемый словарь будет содержать списки со всеми значениями. В противном случае он будет содержать только первое значение для каждого ключа.Возвращает: a dict
-
update(other_dict) -
update() расширяет, а не заменяет существующие списки ключей:
>>> a = MultiDict({'x': 1}) >>> b = MultiDict({'x': 2, 'y': 3}) >>> a.update(b) >>> a MultiDict([('y', 3), ('x', 1), ('x', 2)])Если список значений для ключа в
other_dictпуст, новые значения не будут добавлены в словарь, и ключ не будет создан:>>> x = {'empty_list': []} >>> y = MultiDict() >>> y.update(x) >>> y MultiDict([])
-
values() -
Возвращает итератор первого значения в списке значений каждого ключа.
-
-
class werkzeug.datastructures.OrderedMultiDict(mapping=None) -
Работает как обычный
MultiDict, но сохраняет порядок полей. Для преобразования упорядоченного многослойного словаря в список можно использовать методitems()и передать емуmulti=True.В общем случае,
OrderedMultiDictна порядок медленнее, чемMultiDict.примечание
Из-за ограничения в Python вы не можете преобразовать упорядоченный многослойный словарь в обычный словарь, используя
dict(multidict). Вместо этого вы должны использовать методto_dict(), в противном случае будут доступны внутренние объекты ведра.
-
class werkzeug.datastructures.ImmutableMultiDict(mapping=None) -
Неизменяемый
MultiDict.Добавлена в версии 0.5.
-
class werkzeug.datastructures.ImmutableOrderedMultiDict(mapping=None) -
Неизменяемый
OrderedMultiDict.Добавлена в версии 0.6.
-
class werkzeug.datastructures.CombinedMultiDict(dicts=None) -
Только для чтения
MultiDict, которому можно передать несколькоMultiDictобъектов в качестве последовательности, и он объединит результаты всех обработанных словарей:>>> from werkzeug.datastructures import CombinedMultiDict, MultiDict >>> post = MultiDict([('foo', 'bar')]) >>> get = MultiDict([('blub', 'blah')]) >>> combined = CombinedMultiDict([get, post]) >>> combined['foo'] 'bar' >>> combined['blub'] 'blah'Это работает для всех операций чтения и вызовет
TypeErrorдля методов, которые обычно изменяют данные, что невозможно.Начиная с Werkzeug 0.3, исключение
KeyError, генерируемое этим классом, также является подклассом исключенияBadRequestHTTP и отобразит страницу для400 BAD REQUESTесли оно будет перехвачено в обработчике исключений HTTP.
-
class werkzeug.datastructures.ImmutableDict -
Неизменяемый
dict.Добавлена в версии 0.5.
-
class werkzeug.datastructures.ImmutableList -
Неизменяемый
list.Добавлена в версии 0.5.
Приватные:
-
class werkzeug.datastructures.FileMultiDict(mapping=None) -
Специальный
MultiDict, содержащий удобные методы для добавления файлов. Используется дляEnvironBuilderи в целом полезен для тестирования.Добавлена в версии 0.5.
-
add_file(name, file, filename=None, content_type=None) -
Добавляет новый файл в словарь.
fileможет быть именем файла или объектом типаfileили объектомFileStorage.Параметры: - name – имя поля.
-
file – имя файла или объект типа
file - filename – необязательное имя файла
- content_type – необязательный тип содержимого
-
HTTP Связанные
END_OF_DOCUMENT_MARKER-
class werkzeug.datastructures.EnvironHeaders(environ) -
Только для чтения версия заголовков из окружения WSGI. Предоставляет тот же интерфейс, что и
Headersи создается из окружения WSGI.Начиная с Werkzeug 0.3, исключение
KeyError, генерируемое этим классом, также является подклассом исключенияBadRequestHTTP и отобразит страницу для400 BAD REQUESTпри перехвате в блоке catch-all для HTTP-исключений.
-
class werkzeug.datastructures.HeaderSet(headers=None, on_update=None) -
Аналогично классу
ETags, этот класс реализует структуру, похожую на множество. В отличие отETags, он не чувствителен к регистру и используется для заголовков vary, allow и content-language.Если не используется функция
parse_set_header(), создание происходит так:>>> hs = HeaderSet(['foo', 'bar', 'baz']) >>> hs HeaderSet(['foo', 'bar', 'baz'])
-
add(header) -
Добавляет новый заголовок в множество.
-
as_set(preserve_casing=False) -
Возвращает множество как настоящий тип Python set. При вызове все элементы преобразуются в нижний регистр, а порядок теряется.
Параметры: сохранять_регистр – если установлено в True, элементы возвращаемого множества будут иметь оригинальный регистр, как вHeaderSet, в противном случае они будут в нижнем регистре.
-
clear() -
Очищает множество.
-
discard(header) -
Подобно
remove(), но игнорирует ошибки.Параметры: заголовок – заголовок, который нужно удалить.
-
find(header) -
Возвращает индекс заголовка в множестве или -1, если не найден.
Параметры: заголовок – заголовок для поиска.
-
index(header) -
Возвращает индекс заголовка в множестве или вызывает
IndexError.Параметры: заголовок – заголовок для поиска.
-
remove(header) -
Удаляет заголовок из множества. Вызывает
KeyError, если заголовок не найден в множестве.Изменено в версии 0.5: В более старых версиях вместо
IndexErrorвыбрасывалось исключениеKeyError, если объект отсутствовал.Параметры: заголовок – заголовок для удаления.
-
to_header() -
Преобразует множество заголовков в строку HTTP-заголовка.
-
update(iterable) -
Добавляет все заголовки из итерируемого объекта в множество.
Параметры: итерируемый_объект – обновляет множество элементами из итерируемого объекта.
-
-
class werkzeug.datastructures.Accept(values=()) -
Объект
Accept— это просто подкласс списка для списков кортежей(value, quality). Он автоматически сортируется по специфичности и качеству.Все объекты
Acceptработают аналогично списку, но предоставляют дополнительную функциональность для работы с данными. Проверки на вхождение нормализованы по правилам этого заголовка:>>> a = CharsetAccept([('ISO-8859-1', 1), ('utf-8', 0.7)]) >>> a.best 'ISO-8859-1' >>> 'iso-8859-1' in a True >>> 'UTF8' in a True >>> 'utf7' in a FalseЧтобы получить качество элемента, можно использовать обычный поиск по элементу:
>>> print a['utf-8'] 0.7 >>> a['utf7'] 0
Изменено в версии 0.5: Объекты
Acceptтеперь неизменяемы.-
best -
Лучшее соответствие как значение.
-
best_match(matches, default=None) -
Возвращает лучшее соответствие из списка возможных соответствий на основе специфичности и качества клиента. Если два элемента имеют одинаковое качество и специфичность, возвращается тот, который встречается раньше.
Параметры: - соответствия – список соответствий для проверки
- значение_по_умолчанию – значение, возвращаемое, если соответствий нет
-
find(key) -
Получить позицию записи или вернуть -1.
Параметры: ключ – Ключ для поиска.
-
index(key) -
Получить позицию записи или вызвать
ValueError.Параметры: ключ – Ключ для поиска. Изменено в версии 0.5: Ранее это вызывало
IndexError, что было несогласованно с API списка.
-
quality(key) -
Возвращает качество ключа.
Добавлен в версии 0.6: В предыдущих версиях нужно было использовать синтаксис поиска по элементу (например:
obj[key]вместоobj.quality(key))
-
to_header() -
Преобразует множество заголовков в строку HTTP-заголовка.
-
values() -
Итерирует по всем значениям.
-
-
class werkzeug.datastructures.MIMEAccept(values=()) -
Подобно
Accept, но с особыми методами и поведением для MIME-типов.-
accept_html -
True, если этот объект принимает HTML.
-
accept_json -
True, если этот объект принимает JSON.
-
accept_xhtml -
True, если этот объект принимает XHTML.
-
-
class werkzeug.datastructures.CharsetAccept(values=()) -
Подобно
Accept, но с нормализацией для наборов символов.
-
class werkzeug.datastructures.LanguageAccept(values=()) -
Подобно
Accept, но с нормализацией для языков.
-
class werkzeug.datastructures.RequestCacheControl(values=(), on_update=None) -
Управление кешем для запросов. Оно неизменяемо и предоставляет доступ ко всем заголовкам управления кешем, относящимся к запросу.
Чтобы получить заголовок объекта
RequestCacheControlснова, вы можете преобразовать объект в строку или вызвать методto_header(). Если вы планируете создать подкласс и добавить свои собственные элементы, ознакомьтесь с исходным кодом этого класса.Введено в версии 0.5: В предыдущих версиях существовал класс
CacheControl, который использовался как для запросов, так и для ответов.-
no_cache -
Доступ к «no-cache»
-
no_store -
Доступ к «no-store»
-
max_age -
Доступ к «max-age»
-
no_transform -
Доступ к «no-transform»
-
max_stale -
Доступ к «max-stale»
-
min_fresh -
Доступ к «min-fresh»
-
no_transform -
Доступ к «no-transform»
-
only_if_cached -
Доступ к «only-if-cached»
-
-
class werkzeug.datastructures.ResponseCacheControl(values=(), on_update=None) -
Управление кешем для ответов. В отличие от
RequestCacheControl, оно изменяемо и предоставляет доступ к заголовкам управления кешем, относящимся к ответу.Чтобы получить заголовок объекта
ResponseCacheControlснова, вы можете преобразовать объект в строку или вызвать методto_header(). Если вы планируете создать подкласс и добавить свои собственные элементы, ознакомьтесь с исходным кодом этого класса.Введено в версии 0.5: В предыдущих версиях существовал класс
CacheControl, который использовался как для запросов, так и для ответов.-
no_cache -
Доступ к «no-cache»
-
no_store -
Доступ к «no-store»
-
max_age -
Доступ к «max-age»
-
no_transform -
Доступ к «no-transform»
-
must_revalidate -
Доступ к «must-revalidate»
-
private -
Доступ к «private»
-
proxy_revalidate -
Доступ к «proxy-revalidate»
-
public -
Доступ к «public»
-
s_maxage -
Доступ к «s-maxage»
-
-
class werkzeug.datastructures.ETags(strong_etags=None, weak_etags=None, star_tag=False) -
Множество, которое можно использовать для проверки наличия одного тега etag в коллекции тегов etag.
-
as_set(include_weak=False) -
Преобразование объекта
ETagsв множество Python. По умолчанию все слабые теги etag не входят в это множество.
-
contains(etag) -
Проверка, является ли тег etag частью множества, игнорируя слабые теги. Также можно использовать оператор
in.
-
contains_raw(etag) -
При передаче цитируемого тега проверяется, является ли этот тег частью множества. Если тег является слабым, он проверяется против слабых и сильных тегов, в противном случае только против сильных.
-
contains_weak(etag) -
Проверка, является ли тег etag частью множества, включая слабые и сильные теги.
-
is_strong(etag) -
Проверка, является ли тег etag сильным.
-
is_weak(etag) -
Проверка, является ли тег etag слабым.
-
to_header() -
Преобразование множества тегов etag в строку заголовка HTTP.
-
-
class werkzeug.datastructures.Authorization(auth_type, data=None) -
Представляет заголовок
Authorization, отправленный клиентом. Вам не следует создавать объекты этого типа самостоятельно, а использовать их, когда они возвращаются функциейparse_authorization_header.Этот объект является подклассом словаря и может быть изменен путем задания элементов словаря, но он должен считаться неизменяемым, так как он возвращается клиентом и не предназначен для модификаций.
Изменено в версии 0.5: Этот объект стал неизменяемым.
-
cnonce -
Если сервер отправил заголовок qop в заголовке
WWW-Authenticate, клиент должен предоставить это значение для аутентификации HTTP по схеме digest. Подробнее см. RFC.
-
nc -
Значение счетчика nonce, передаваемое клиентами, если также передается заголовок qop. Только аутентификация HTTP по схеме digest.
-
nonce -
Nonce, отправленный сервером для аутентификации по схеме digest, возвращаемый клиентом. Nonce должен быть уникальным для каждого ответа 401 для аутентификации HTTP по схеме digest.
-
opaque -
Заголовок opaque от сервера, возвращаемый клиентом без изменений. Рекомендуется, чтобы эта строка содержала данные в формате base64 или шестнадцатеричном формате. Только аутентификация HTTP по схеме digest.
-
password -
Если тип аутентификации basic, это пароль, переданный клиентом, в противном случае
None.
-
qop -
Указывает, какое «качество защиты» клиент применил к сообщению для аутентификации HTTP по схеме digest. Обратите внимание, что это один токен, а не цитируемый список альтернатив, как в WWW-Authenticate.
-
realm -
Это область сервера, возвращенная для аутентификации HTTP по схеме digest.
-
response -
Строка из 32 шестнадцатеричных цифр, вычисленная в соответствии с RFC 2617, которая доказывает, что пользователь знает пароль. Только аутентификация HTTP по схеме digest.
-
uri -
URI из Request-URI строки запроса; дублируется, потому что прокси могут изменять строку запроса во время передачи. Только аутентификация HTTP по схеме digest.
-
username -
Переданное имя пользователя. Это устанавливается для аутентификации как basic, так и digest постоянно.
-
-
class werkzeug.datastructures.WWWAuthenticate(auth_type=None, values=None, on_update=None) -
Обеспечивает простой доступ к заголовкам
WWW-Authenticate.-
algorithm -
Строка, указывающая пару алгоритмов, используемых для создания дайджеста и контрольной суммы. Если она отсутствует, предполагается, что это «MD5». Если алгоритм не понятен, запрос должен быть проигнорирован (и использован другой, если их несколько).
-
static auth_property(name, doc=None) -
Статическая вспомогательная функция для подклассов, которая добавляет дополнительные свойства системы аутентификации в класс:
class FooAuthenticate(WWWAuthenticate): special_realm = auth_property('special_realm')Для получения дополнительной информации ознакомьтесь с исходным кодом, чтобы увидеть, как реализованы обычные свойства (
realmи т. д.).
-
domain -
Список URI, определяющих пространство защиты. Если URI является абсолютным путем, он относит к каноническому корневому URL сервера, к которому осуществляется доступ.
-
nonce -
Строка данных, заданная сервером, которая должна генерироваться уникальным образом каждый раз, когда создается ответ 401. Рекомендуется, чтобы эта строка была данными в формате base64 или шестнадцатеричном формате.
-
opaque -
Строка данных, указанная сервером, которая должна возвращаться клиентом неизменной в заголовке Authorization последующих запросов с URI в том же пространстве защиты. Рекомендуется, чтобы эта строка была данными в формате base64 или шестнадцатеричном формате.
-
qop -
Набор директив качества конфиденциальности, таких как auth и auth-int.
-
realm -
Строка для отображения пользователям, чтобы они знали, какой имя пользователя и пароль использовать. Эта строка должна содержать как минимум имя хоста, выполняющего аутентификацию, и может дополнительно указывать набор пользователей, которые могут иметь доступ.
-
set_basic(realm='authentication required') -
Очистить информацию об авторизации и включить основную авторизацию.
-
set_digest(realm, nonce, qop=('auth', ), opaque=None, algorithm=None, stale=False) -
Очистить информацию об авторизации и включить авторизацию дайджеста.
-
stale -
Флаг, указывающий, что предыдущий запрос от клиента был отклонен, потому что значение nonce было устаревшим.
-
to_header() -
Преобразовать сохраненные значения в заголовок WWW-Authenticate.
-
type -
Тип механизма аутентификации. В настоящее время HTTP определяет
BasicиDigest.
-
-
class werkzeug.datastructures.IfRange(etag=None, date=None) -
Очень простой объект, представляющий заголовок
If-Rangeв обработанном виде. Он либо не будет содержать ни тега, ни даты, либо содержать один из них, но никогда не оба.Новое в версии 0.7.
-
date = None -
Дата в обработанном формате или
None.
-
etag = None -
Обработанный и необрамленный тег. Диапазоны всегда работают со строгими тегами, поэтому информация о слабых местах не нужна.
-
to_header() -
Преобразует объект обратно в заголовок HTTP.
-
-
class werkzeug.datastructures.Range(units, ranges) -
Представляет заголовок
Range. Все методы поддерживают только байты в качестве единицы измерения. Сохраняет список диапазонов, если он указан, но методы работают только если указан только один диапазон.Возбуждает: ValueError – Если указанные диапазоны недопустимы. Изменено в версии 0.15: Проверяются диапазоны, переданные в качестве аргумента.
Новое в версии 0.7.
-
make_content_range(length) -
Создает объект
ContentRangeиз текущего диапазона и заданной длины содержимого.
-
range_for_length(length) -
Если диапазон относится к байтам, длина не равна None, диапазонов ровно один и он выполним, то возвращает кортеж
(start, stop), иначеNone.
-
ranges = None -
Список кортежей
(begin, end)для заголовка диапазона, переданного в качестве аргумента. Диапазоны не включают конечные значения.
-
to_content_range_header(length) -
Преобразует объект в заголовок HTTP
Content-Range, на основе заданной длины.
-
to_header() -
Преобразует объект обратно в заголовок HTTP.
-
units = None -
Единицы измерения этого диапазона. Обычно «байты».
-
-
class werkzeug.datastructures.ContentRange(units, start, stop, length=None, on_update=None) -
Представляет заголовок диапазона содержимого.
Новое в версии 0.7.
-
length -
Длина диапазона или
None.
-
set(start, stop, length=None, units='bytes') -
Простая функция для обновления диапазонов.
-
start -
Начальная точка диапазона или
None.
-
stop -
Конечная точка диапазона (не включая) или
None. Может бытьNoneтолько если значение start такжеNone.
-
units -
Единицы измерения, обычно «байты»
-
unset() -
Устанавливает единицы измерения в
None, что указывает на то, что заголовок больше не должен использоваться.
-
Другие
-
class werkzeug.datastructures.FileStorage(stream=None, filename=None, name=None, content_type=None, content_length=None, headers=None) -
Класс
FileStorage— это тонкая обертка над входящими файлами. Он используется объектом запроса для представления загруженных файлов. Все атрибуты потока обертки делегируются хранилищу файлов, поэтому можно использоватьstorage.read()вместо длинной формы %%%CODE_BLOCK_347%%.-
stream -
Поток ввода для загруженного файла. Обычно он указывает на открытый временный файл.
-
filename -
Имя файла на стороне клиента.
-
name -
Имя поля формы.
-
headers -
Заголовки multipart в виде объекта
Headers. Обычно содержит нерелевантную информацию, но в сочетании с пользовательскими multipart-запросами исходные заголовки могут быть интересными.Новое в версии 0.6.
-
close() -
Закрыть базовый файл, если это возможно.
-
content_length -
Длина содержимого, отправленная в заголовке. Обычно недоступна.
-
content_type -
Тип содержимого, отправленный в заголовке. Обычно недоступен.
-
mimetype -
Аналогично
content_type, но без параметров (например, без charset, типа и т. д.) и всегда в нижнем регистре. Например, если тип содержимогоtext/HTML; charset=utf-8, то mimetype будет %%%CODE_BLOCK_359%%.Новое в версии 0.7.
-
mimetype_params -
Параметры mimetype в виде словаря. Например, если тип содержимого
text/html; charset=utf-8, то параметры будут %%%CODE_BLOCK_362%%.Новое в версии 0.7.
-
save(dst, buffer_size=16384) -
Сохранить файл в целевой путь или объект файла. Если целевой объект является файлом, вы должны его закрыть самостоятельно после вызова. Размер буфера — это количество байтов, хранящихся в памяти во время процесса копирования. По умолчанию он равен 16 КБ.
Для безопасного сохранения файлов также ознакомьтесь с %%%CODE_BLOCK_364%%.
Параметры: - dst – имя файла или открытый объект файла, в который сохраняется загруженный файл.
-
buffer_size – размер буфера. Это работает так же, как и параметр
lengthфункцииshutil.copyfileobj().
-
© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/0.16.x/datastructures/