背景:我正在使用https://bitbucket.org/mariocesar/django-hgwebproxy/wiki/Home向我正在构建的Django站点添加一个Mercurial浏览器。
我遇到的问题是:我们存储在hgweb中的特定文件是绑定区域文件,它恰好被命名为/some/path/somedomain.com,这导致hgweb在返回文件的原始视图时将内容类型设置为application/x-msdos-program (当内容实际上是text/plain)。不正确的内容类型导致hgwebproxy将内容转储到页面模板中,而不是仅仅返回它。它通过这样的测试来跳过模板:
if response['content-type'].split(';')[0] in ('application/octet-stream', 'text/plain'):
return response当然,一些可实现的解决方案是
application/x-msdos-program (蹩脚和肮脏)发布于 2012-05-01 19:29:47
hgweb使用mimetype来检测文件的mime类型。您可以通过添加设置文件来覆盖".com“后缀检测。请参阅:mimetypes.knownfiles
>>> import mimetypes
>>> mimetypes.init()
>>> mimetypes.knownfiles
['/etc/mime.types', '/etc/httpd/mime.types', '/etc/httpd/conf/mime.types', '/etc/apache/mime.types', '/etc/apache2/mime.types', '/usr/local/etc/httpd/conf/mime.types', '/usr/local/lib/netscape/mime.types', '/usr/local/etc/httpd/conf/mime.types', '/usr/local/etc/mime.types']https://stackoverflow.com/questions/10400164
复制相似问题