Структуры данных
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) -
Добавляет новое значение для ключа.
Новое в версии 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, значение будет удалено из списка.
Возвращает: a
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 – Итерируемый объект значений по умолчанию. Он либо копируется (если это был список), либо преобразуется в список перед возвратом.
Возвращает: a
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, генерируемое этим классом, также является подклассом исключенияBadRequestHTTP и будет отображать страницу для400 BAD REQUESTв случае перехвата в catch-all для исключений 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 Связанные
-
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 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 -
Истина, если этот объект принимает 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»
-
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) -
Множество, которое можно использовать для проверки наличия одного тега в наборе тегов.
-
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 строки запроса; дублируется, потому что прокси могут изменять строку запроса во время транзита. Только для 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') -
Очистить данные аутентификации и включить аутентификацию 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) -
Преобразует объект в заголовок 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()вместо длинной формы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 — имя файла или открытый объект файла, в который сохраняется загруженный файл.
-
buffer_size — размер буфера. Это работает так же, как параметр
lengthдляshutil.copyfileobj().
-
© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/0.15.x/datastructures/