Предоставление общих статических файлов
-
Средство 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 (Union[Dict[str, Union[str, Tuple[str, str]]], Iterable[Tuple[str, Union[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–2021 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/2.0.x/middleware/shared_data/