jinja2静态文件的mime类型总是text/plain
我有一个简单的flask应用程序。我的所有CSS文件都放在static/css
这个文件夹里。我创建了一个主模板,想要在里面引入这个文件夹里的CSS。以下是我到目前为止尝试过的内容。
<link rel="stylesheet" href="/static/css/justified-nav.css" type="text/css" media="screen">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/justified-nav.css') }}" media="screen">
<link rel="stylesheet" type="text/css" href="http://127.0.0.1/static/css/justified-nav.css" media="screen">
在所有情况下,文件都能加载,但显示的mime类型是text/plain
。我也尝试过把CSS文件直接放到静态文件夹里,但结果还是一样。
我哪里做错了?我该如何在模板中引入CSS文件呢?
2 个回答
0
试试这个,应该可以用。
<link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.css') }}"/>
2
Flask使用一个叫做 mimetypes 的模块来根据文件的扩展名判断文件的类型。比如,如果你看到一个CSS文件被识别为 text/plain
,那就说明这个模块返回的文件类型不对。
在Windows系统上,它会从注册表中获取相关数据,所以如果在 HKCR/.css
这个位置的“内容类型”没有设置成正确的MIME类型,就可能会导致你遇到的问题。