服务共享静态文件¶
- 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, { '/shared': os.path.join(os.path.dirname(__file__), 'shared') })
文件夹的内容
./shared
现在将在http://example.com/shared/
。这在开发期间非常有用,因为不需要独立的媒体服务器。还可以将文件挂载在根文件夹上并继续使用该应用程序,因为共享数据中间件会将所有未处理的请求转发给该应用程序,即使这些请求位于其中一个共享文件夹之下。如果 pkg_resources 也可以告诉中间件从包数据提供文件:
app = SharedDataMiddleware(app, { '/static': ('myapplication', 'static') })
这将为
static
文件夹 myapplication python包。可选的 disallow 参数可以是
fnmatch()
无法从Web访问的文件的规则。如果 cache 设置为 False 不发送缓存头。目前,中间件不支持非ASCII文件名。如果文件系统上的编码恰好与URI的编码匹配,那么它可能会工作,但这也可能是偶然的。我们强烈建议静电文件仅使用ASCII码的文件名。
中间件将使用python猜测mimetype 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) -- 未知文件的回退mimetype。
Changelog
在 1.0 版本发生变更: 默认值
fallback_mimetype
是application/octet-stream
. 如果文件名看起来像文本mimetype,则utf-8
添加了字符集。在 0.6 版本加入: 补充
fallback_mimetype
.在 0.5 版本发生变更: 补充
cache_timeout
.