Spec-Zone.ru › Werkzeug 0.15

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

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.15.x/middleware/shared_data/

Spec-Zone.ru

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