python - jinja2 静态文件 mime 类型总是文本/纯文本

标签 python css flask jinja2

我有一个简单的 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-type text/plain。我也尝试将 css 文件直接放入静态文件夹,但没有结果。

我做错了什么?如何在模板中包含 css 文件?

最佳答案

Flask 使用 mimetypes模块根据文件的扩展名确定文件的 MIME 类型。如果你得到一个 CSS 文件的 text/plain,这意味着这个模块返回了错误的 MIME 类型。

在 Windows 上,它使用来自注册表的数据,因此如果 HKCR/.css 中的“内容类型”值未设置为正确的 MIME 类型,它可能会导致您的问题。

关于python - jinja2 静态文件 mime 类型总是文本/纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23452967/

相关文章:

javascript - 如何使用 JavaScript 查找未定义的 CSS 属性的值?

python - 为什么我应该切换到 Flask 生产部署而不是开发服务器?

python - 无法解析 Yahoo Finance API JSON 数据?包含代码(Python Flask)

flask 渲染模板不与 anchor 标记一起工作# - jinja2.exceptions.TemplateNotFound

python - 带有给出 UnicodeEncodeError 的国家字符的 URL

python - 在 python 进程中创建和重用对象

python - Pandas DataFrame 的组合与子类

python - 如何使用生成器避免 python 中的最大递归深度?

css - CSS 属性内容的空值有什么作用?

javascript - 包含一个 HTML/CSS/JS 文件作为代码,不渲染