Оказание общих статических файлов
-
Средство 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в пакете Pythonmyapplication.Необязательный параметр
disallowможет быть списком правилfnmatch()для файлов, недоступных из сети. Еслиcacheустановлено вFalse, заголовки кеширования не отправляются.В настоящее время средство не поддерживает имена файлов, не являющиеся ASCII. Если кодировка в файловой системе совпадает с кодировкой URI, то это может сработать, но это может быть случайностью. Мы настоятельно рекомендуем использовать только имена файлов ASCII для статических файлов.
Средство будет определять тип MIME с помощью модуля Python
mimetype. Если оно не сможет определить кодировку символов, оно вернётся кfallback_mimetype.- Параметры:
-
-
app (WSGIApplication) – приложение, которое нужно обернуть. Если вы не хотите обертывать приложение, вы можете передать
NotFound. - exports (dict[str, str | tuple[str, str]] | t.Iterable[tuple[str, str | tuple[str, str]]]) – список или словарь экспортируемых файлов и папок.
-
disallow (None) – список правил
fnmatch(). - cache (bool) – включить или отключить заголовки кеширования.
- cache_timeout (int) – время ожидания кеширования в секундах для заголовков.
- fallback_mimetype (str) – тип MIME по умолчанию для неизвестных файлов.
-
app (WSGIApplication) – приложение, которое нужно обернуть. Если вы не хотите обертывать приложение, вы можете передать
Журнал изменений
Изменено в версии 1.0: Значение по умолчанию
fallback_mimetypeравноapplication/octet-stream. Если имя файла похоже на тип MIME текста, к нему добавляется кодировка символовutf-8.Добавлен в версии 0.6: Добавлен
fallback_mimetype.Изменено в версии 0.5: Добавлен
cache_timeout.
© 2007 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/3.0.x/middleware/shared_data/