Обслуживание общих статических файлов
-
Средство 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в пакете Pythonmyapplication.Необязательный параметр
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 – время кэширования в секундах для заголовков.
-
Подклассы могут переопределить этот метод, чтобы запретить доступ к определённым файлам. Однако, передав
disallowв конструктор, этот метод переопределяется.
-
app – приложение для обертывания. Если вы не хотите обертывать приложение, вы можете передать
© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/0.15.x/middleware/shared_data/