Структуры данных
Werkzeug предоставляет некоторые подклассы общих объектов Python, чтобы расширить их дополнительными функциями. Некоторые из них используются для их иммутабельности, другие используются для изменения некоторых семантик, чтобы лучше работать с HTTP.
Для общих целей
Журнал изменений
Изменено в версии 0.6: Классы общего назначения теперь сериализуемы с помощью pickle в каждом протоколе, при условии что содержащиеся объекты сериализуемы. Это означает, что 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) -
Добавляет новое значение для ключа.
Changelog
Добавлен в версии 0.6.
Параметры: - key – ключ для значения.
- value – добавляемое значение.
-
clear() → None. Remove all items from D.
-
copy() -
Возвращает поверхностную копию этого объекта.
-
deepcopy(memo=None) -
Возвращает глубокую копию этого объекта.
-
fromkeys() -
Создаёт новый словарь с ключами из итерируемого объекта и значениями, установленными в value.
-
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, значение удаляется из списка.
Возвращает: a
listсписок всех значений для ключа.
-
items(multi=False) -
Возвращает итератор пар
(key, value).Параметры: multi – Если установлено в True, возвращаемый итератор будет содержать пару для каждого значения каждого ключа. В противном случае он будет содержать пары только для первого значения каждого ключа.
-
keys() → a set-like object providing a view on D's keys
-
lists() -
Возвращает итератор пар
(key, values), где 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) -
Извлекает список для ключа из словаря. Если ключа нет в словаре, возвращается пустой список.
Changelog
Изменено в версии 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]Параметры: - ключ – Ключ для поиска.
- default_list – Итерируемый объект со значениями по умолчанию. Он либо копируется (если это был список), либо преобразуется в список перед возвращением.
Возвращает: список
list
-
to_dict(flat=True) -
Возвращает содержимое как обычный словарь. Если
flatимеетTrue, возвращаемый словарь будет содержать только первый элемент, еслиflatимеетFalse, все значения будут возвращены как списки.Параметры: flat – Если установлено в False, возвращаемый словарь будет содержать списки со всеми значениями. В противном случае он будет содержать только первое значение для каждого ключа.Возвращает: словарь 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поднятый этим классом, также является подклассом исключения HTTPBadRequestи будет рендерить страницу для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.Параметры: - имя – имя поля.
-
файл – имя файла или объект типа
file - filename – необязательное имя файла
- content_type – необязательный тип содержимого
-
HTTP Related
-
class werkzeug.datastructures.EnvironHeaders(environ) -
Только для чтения версия заголовков из WSGI-среды. Предоставляет тот же интерфейс, что и
Headers, и создается из WSGI-среды.Начиная с Werkzeug 0.3, исключение
KeyError, которое поднимает этот класс, также является подклассом исключенияBadRequestHTTP и отобразит страницу для400 BAD REQUESTв случае перехвата при обработке исключений 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. При вызове все элементы преобразуются в нижний регистр, и порядок теряется.
Параметры: preserve_casing – если установлено 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
Изменено в версии 1.0.0:
Acceptвнутренние значения больше не упорядочены по алфавиту для тегов с одинаковым качеством. Вместо этого сохраняется исходный порядок.Изменения
Изменено в версии 0.5:
Acceptобъекты теперь неизменяемы.-
best -
Лучшее соответствие как значение.
-
best_match(matches, default=None) -
Возвращает лучшее соответствие из списка возможных соответствий на основе специфичности и качества клиента. Если два элемента имеют одинаковое качество и специфичность, возвращается тот, который встречается первым.
Параметры: - matches – список соответствий для проверки
- default – значение, которое возвращается, если не найдено соответствий
-
find(key) -
Возвращает позицию записи или -1.
Параметры: key – Ключ для поиска.
-
index(key) -
Возвращает позицию записи или вызывает
ValueError.Параметры: key – Ключ для поиска. Изменения
Изменено в версии 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 -
Истина, если этот объект принимает HTML.
-
accept_json -
Истина, если этот объект принимает JSON.
-
accept_xhtml -
Истина, если этот объект принимает 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»
-
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»
-
immutable -
доступ к «immutable»
-
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) -
Множество, которое можно использовать для проверки наличия одного тега в наборе тегов.
-
as_set(include_weak=False) -
Преобразование объекта
ETagsв множество Python. По умолчанию все слабые теги не входят в это множество.
-
contains(etag) -
Проверка, является ли тег частью множества, игнорируя слабые теги. Также можно использовать оператор
in.
-
contains_raw(etag) -
При передаче цитируемого тега проверяет, является ли этот тег частью множества. Если тег слабый, он проверяется против слабых и сильных тегов, в противном случае только сильных.
-
contains_weak(etag) -
Проверка, является ли тег частью множества, включая слабые и сильные теги.
-
is_strong(etag) -
Проверка, является ли тег сильным.
-
is_weak(etag) -
Проверка, является ли тег слабым.
-
to_header() -
Преобразование множества тегов в строку заголовка HTTP.
-
-
class werkzeug.datastructures.Authorization(auth_type, data=None) -
Представляет заголовок
Authorization, отправленный клиентом. Вы не должны создавать такие объекты самостоятельно, используйте их при возвращении функциейparse_authorization_header.Этот объект — подкласс dict и может быть изменён путём задания элементов словаря, но следует считать его неизменяемым, так как он возвращается клиентом и не предназначен для модификаций.
Изменения
Изменено в версии 0.5: Этот объект стал неизменяемым.
-
cnonce -
Если сервер отправил заголовок qop в заголовке
WWW-Authenticate, клиент должен предоставить это значение для аутентификации по HTTP digest. Подробнее см. RFC.
-
nc -
Значение счётчика nonce, переданное клиентом, если также передан заголовок qop. Только для HTTP digest аутентификации.
-
nonce -
Nonce, отправленный сервером для аутентификации по digest, возвращённый клиентом. Nonce должен быть уникальным для каждого ответа 401 для HTTP digest аутентификации.
-
opaque -
Заголовок opaque от сервера, возвращённый клиентом без изменений. Рекомендуется, чтобы эта строка была данными в base64 или шестнадцатеричном формате. Только для аутентификации по digest.
-
password -
Когда тип аутентификации basic, это пароль, переданный клиентом, иначе
None.
-
qop -
Указывает, какое «качество защиты» клиент применил к сообщению для HTTP digest аутентификации. Обратите внимание, что это одно токены, а не цитированный список альтернатив, как в WWW-Authenticate.
-
realm -
Это область сервера, возвращённая для HTTP digest аутентификации.
-
response -
Строка из 32 шестнадцатеричных цифр, вычисленная в соответствии с RFC 2617, которая доказывает, что пользователь знает пароль. Только для аутентификации по digest.
-
uri -
URI из Request-URI строки Request-Line; дублируется, потому что прокси могут изменять Request-Line во время передачи. Только для HTTP digest аутентификации.
-
username -
Переданное имя пользователя. Устанавливается для basic и digest аутентификации всегда.
-
-
class werkzeug.datastructures.WWWAuthenticate(auth_type=None, values=None, on_update=None) -
Обеспечивает простой доступ к заголовкам
WWW-Authenticate.-
algorithm -
Строка, указывающая пару алгоритмов, используемых для создания digest и контрольной суммы. Если она отсутствует, предполагается «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') -
Очистить информацию об аутентификации и включить basic аутентификацию.
-
set_digest(realm, nonce, qop=('auth', ), opaque=None, algorithm=None, stale=False) -
Очистить информацию об аутентификации и включить digest аутентификацию.
-
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) -
Преобразует объект в заголовок
Content-RangeHTTP, на основе заданной длины.
-
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()вместо более длинной формыstorage.stream.read().-
stream -
Поток ввода загруженного файла. Обычно указывает на открытый временный файл.
-
filename -
Имя файла на стороне клиента.
-
name -
Имя поля формы.
-
headers -
Заголовки multipart как объект
Headers. Обычно содержит нерелевантную информацию, но в сочетании с пользовательскими запросами multipart исходные заголовки могут быть интересны.Журнал изменений
Добавлена в версии 0.6.
-
close() -
Закрыть базовый файл, если возможно.
-
content_length -
Длина содержимого, отправленная в заголовке. Обычно недоступна.
-
content_type -
Тип содержимого, отправленный в заголовке. Обычно недоступен.
-
mimetype -
Как
content_type, но без параметров (например, без набора символов, типа и т. д.) и всегда в нижнем регистре. Например, если тип содержимогоtext/HTML; charset=utf-8, mimetype будет'text/html'.Журнал изменений
Добавлена в версии 0.7.
-
mimetype_params -
Параметры mimetype в виде словаря. Например, если тип содержимого
text/html; charset=utf-8, параметры будут{'charset': 'utf-8'}.Журнал изменений
Добавлена в версии 0.7.
-
save(dst, buffer_size=16384) -
Сохранить файл в целевой путь или объект файла. Если целевой объект файла, вы должны закрыть его самостоятельно после вызова. Размер буфера — количество байтов, хранящихся в памяти во время процесса копирования. По умолчанию составляет 16 КБ.
Для безопасного сохранения файлов также обратите внимание на
secure_filename().Параметры: -
dst – имя файла,
os.PathLikeили открытый объект файла для записи. -
buffer_size – Передаётся как параметр
lengthфункцииshutil.copyfileobj().
Изменено в версии 1.0: Поддерживает
pathlib. -
dst – имя файла,
-
© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/1.0.x/datastructures/