Spec-Zone.ru › Werkzeug 0.16

Обслуживание общих статических файлов

class werkzeug.middleware.shared_data.SharedDataMiddleware(app, exports, disallow=None, cache=True, cache_timeout=43200, fallback_mimetype='text/plain')

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

import os
from werkzeug.wsgi import SharedDataMiddleware

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

Содержимое папки ./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.

Изменено в версии 0.5: Время кэширования теперь настраивается.

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

Параметры:
  • app – приложение, которое необходимо обернуть. Если вы не хотите оборачивать приложение, вы можете передать NotFound.
  • exports – список или словарь экспортируемых файлов и папок.
  • disallow – список правил fnmatch().
  • fallback_mimetype – тип MIME по умолчанию для неизвестных файлов.
  • cache – включить или отключить заголовки кэширования.
  • cache_timeout – время кэширования в секундах для заголовков.
is_allowed(filename)

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

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

Spec-Zone.ru

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