Python 如何在Pyramid web framework中为特定文件类型设置响应的内容类型标头
我正在使用金字塔网络框架建立一个网站。我在chrome控制台中不断收到以下警告: 资源解释为字体,但使用MIME类型的应用程序/八位字节流传输:“http:static/images/fonts/Font.woff” 如何删除此警告消息 我已使用Python 如何在Pyramid web framework中为特定文件类型设置响应的内容类型标头,python,pyramid,Python,Pyramid,我正在使用金字塔网络框架建立一个网站。我在chrome控制台中不断收到以下警告: 资源解释为字体,但使用MIME类型的应用程序/八位字节流传输:“http:static/images/fonts/Font.woff” 如何删除此警告消息 我已使用add\u static\u view 我可以想出一种方法,为响应添加一个订户函数,检查路径是否以.woff结尾,并将响应头设置为application/x-font-woff。但它看起来不像一个干净的解决方案。有没有一种方法可以通过一些设置告诉Pyra
add\u static\u view
我可以想出一种方法,为响应添加一个订户函数,检查路径是否以.woff
结尾,并将响应头设置为application/x-font-woff
。但它看起来不像一个干净的解决方案。有没有一种方法可以通过一些设置告诉Pyramid这样做。Pyramid使用标准根据扩展名猜测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
只需在您的金字塔web应用程序初始化的位置添加以下代码
导入模拟类型
mimetypes.add_类型('application/x-font-woff','.woff'))
例如,我已将其添加到我的webapp.py文件中,当服务器第一次收到请求时,该文件将被调用。此答案可能需要一些解释来说明将此代码放在何处以及如何帮助。对于windows,请打开regedit,打开键
Computer\HKEY\u LOCAL\u MACHINE\SOFTWARE\Classes`为
.woff`添加一个键,并将内容类型
设置为应用程序/x-font-woff