0

我突然遇到一个非常奇怪的问题,我的浏览器(Chrome、Safari、Firefox)没有下载外部 css 文件。我正在为 heroku 构建一个 python 烧瓶应用程序。我正在本地服务器(gunicorn 和默认烧瓶服务器)上开发。当我加载我的主页时,除了我的主样式表之外,一切似乎都加载得很好。该<link>节点显示在头下的 Chrome devtools 中。

<link rel="stylsheet" href="/static/main.4dd3f5a6.css" type="text/css">

我可以单击href,然后打开一个带有我缩小的 CSS 的选项卡。但是,当我在Resources选项卡下查看时,它不显示样式表。我在网上发现的可能问题之一可能是我的本地服务器正在为 css 提供错误的Content-Type. 但是,当我在Network选项卡下查看 Content-Type 时,样式表甚至没有出现在那里!我正在使用 Flask-Assets 加载我的资产。它似乎适用于我的 javascript,而不是我的 css。这是我设置网络资产的一些相关代码。

asset_env = Environment(app)
asset_env.debug = True
asset_env.url = app.static_url_path
asset_env.append_path("assets")

js_bundle = Bundle("js/*", filters="jsmin", output="main.%(version)s.js")
css_bundle = Bundle("css/*", "css/font-awesome-4.1.0/css/font-awesome.css",
                    filters="cssmin", output="main.%(version)s.css")
asset_env.register("js", js_bundle)
asset_env.register("css", css_bundle)

我也尝试部署到我的 heroku 应用程序(它不在生产中),我在他们的服务器上遇到了与我的开发服务器上相同的问题。

有任何想法吗?

4

1 回答 1

1

聚会有点晚了,但我遇到了同样的问题。

将 type 属性移到链接语句的前面后,它起作用了。

<link type="text/css" href="{{ ASSET_URL }}" rel="stylesheet">

代替

<link rel="stylsheet" href="{{ ASSET_URL }}" type="text/css">
于 2015-06-02T18:39:15.333 回答