如何在Pyramid Web框架中设置响应特定文件类型的内容类型标头

Ran*_*dra 4 python pyramid

我正在使用金字塔网页框架来构建一个网站.我一直在chrome控制台中收到此警告:

资源解释为Font但使用MIME类型application/octet-stream传输:"http:static/images/fonts/font.woff".

如何摆脱此警告消息?

我已经配置了要使用的静态文件 add_static_view

我可以想办法通过为响应添加一个订阅者函数来检查路径是否结束.woff并将响应头设置为application/x-font-woff.但它看起来不像一个干净的解决方案.有没有办法告诉金字塔通过一些设置来做到这一点.

Mar*_*ers 6

Pyramid使用标准mimetypes模块根据扩展名猜测mimetype.它叫:

mimetypes.guess_type(path, strict=False)
Run Code Online (Sandbox Code Playgroud)

该模块在Windows注册表中查找是否在该平台上,以及mimetype列表的以下位置:

knownfiles = [
    "/etc/mime.types",
    "/etc/httpd/mime.types",                    # Mac OS X
    "/etc/httpd/conf/mime.types",               # Apache
    "/etc/apache/mime.types",                   # Apache 1
    "/etc/apache2/mime.types",                  # Apache 2
    "/usr/local/etc/httpd/conf/mime.types",
    "/usr/local/lib/netscape/mime.types",
    "/usr/local/etc/httpd/conf/mime.types",     # Apache 1.2
    "/usr/local/etc/mime.types",                # Apache 1.3
    ]
Run Code Online (Sandbox Code Playgroud)

您可以扩展其中一个文件,也可以创建自己的文件并使用该.init()函数将其添加到模块中.

文件格式很简单,只列出mimetype,然后列出一些空格,然后是空格分隔的扩展列表:

application/x-font-woff     woff
Run Code Online (Sandbox Code Playgroud)