Spec-Zone.ru › Werkzeug 2.1

Предоставление общих статических файлов

class werkzeug.middleware.shared_data.SharedDataMiddleware(app, exports, disallow=None, cache=True, cache_timeout=43200, fallback_mimetype='application/octet-stream')

Средство WSGI, которое предоставляет статический контент для сред разработки или простых конфигураций серверов. Его использование довольно просто:

import os
from werkzeug.middleware.shared_data import SharedDataMiddleware

app = SharedDataMiddleware(app, {
    '/shared': os.path.join(os.path.dirname(__file__), 'shared')
})

Содержимое папки ./shared теперь будет доступно по адресу http://example.com/shared/. Это очень полезно во время разработки, поскольку отдельный медиа-сервер не требуется. Файлы также могут быть смонтированы в корневой папке и продолжать работать с приложением, поскольку средство обработки общих данных перенаправляет все необработанные запросы к приложению, даже если запросы находятся ниже одной из общих папок.

Если pkg_resources доступен, вы также можете указать средству обработки передавать файлы из данных пакета:

app = SharedDataMiddleware(app, {
    '/static': ('myapplication', 'static')
})

Тогда будет обслуживаться папка static в пакете Python myapplication.

Необязательный параметр disallow может быть списком правил fnmatch() для файлов, которые недоступны через веб. Если cache установлено в значение False, заголовки кеширования не отправляются.

В настоящее время средство обработки не поддерживает имена файлов с символами, отличными от ASCII. Если кодировка файловой системы совпадает с кодировкой URI, это может сработать, но это может произойти случайно. Мы настоятельно рекомендуем использовать только имена файлов ASCII для статических файлов.

Средство обработки будет определять тип MIME с помощью модуля Python mimetype. Если не удаётся определить кодировку символов, будет использоваться значение по умолчанию fallback_mimetype.

Параметры
  • app (WSGIApplication) – приложение, которое нужно обернуть. Если вы не хотите оборачивать приложение, вы можете передать NotFound.
  • exports (Union[Dict[str, Union[str, Tuple[str, str]]]], Iterable[Tuple[str, Union[str, Tuple[str, str]]]]]) – список или словарь экспортированных файлов и папок.
  • disallow (None) – список правил fnmatch().
  • cache (bool) – включить или отключить заголовки кеширования.
  • cache_timeout (int) – тайм-аут кеширования в секундах для заголовков.
  • fallback_mimetype (str) – тип MIME по умолчанию для неизвестных файлов.
Тип возвращаемого значения

None

Журнал изменений

Изменено в версии 1.0: Значение по умолчанию fallback_mimetype составляет application/octet-stream. Если имя файла похоже на тип MIME текста, к нему добавляется кодировка utf-8.

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

Изменено в версии 0.5: Добавлен cache_timeout.

is_allowed(filename)

Подклассы могут переопределить этот метод, чтобы запретить доступ к определённым файлам. Однако, передавая disallow в конструктор, этот метод переопределяется.

Параметры

filename (str) –

Тип возвращаемого значения

bool

© 2007–2022 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/2.1.x/middleware/shared_data/

Spec-Zone.ru

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