我正在使用金字塔网页框架来构建网站。我一直在chrome控制台中收到此警告:
资源解释为字体但使用MIME类型application / octet-stream传输:“http:static / images / fonts / font.woff”。
如何摆脱此警告消息?
我已使用add_static_view
我可以想办法通过为响应添加订阅者函数来检查路径是否以.woff
结尾并将响应头设置为application/x-font-woff
。但它看起来不像一个干净的解决方案。有没有办法告诉金字塔通过某种设置来做到这一点。
答案 0 :(得分:6)
Pyramid使用标准mimetypes
module根据扩展名猜测mimetype。它叫:
mimetypes.guess_type(path, strict=False)
该模块在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
]
您可以扩展其中一个文件,也可以创建自己的文件,并使用.init()
函数将其添加到模块中。
文件格式很简单,只列出mimetype,然后列出一些空格,然后是以空格分隔的扩展名列表:
application/x-font-woff woff
答案 1 :(得分:1)
只需将以下代码添加到Pyramid Web应用程序初始化的位置即可。
import mimetypes
mimetypes.add_type('application/x-font-woff', '.woff')
例如,我已将其添加到我的webapp.py文件中,该文件在服务器第一次被请求命中时被调用。