Spec-Zone.ru › Werkzeug 1.0

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

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, {
    '/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.

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

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

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

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

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

is_allowed(filename)

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

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

Spec-Zone.ru

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