Обслуживание общих статических файлов
-
Средство 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–2022 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/2.3.x/middleware/shared_data/