CSS文件未下载 - Flask
我最近遇到了一个很奇怪的问题,我的浏览器(Chrome、Safari、Firefox)都无法下载一个外部的CSS文件。我正在为Heroku构建一个Python Flask应用,开发是在本地服务器上进行的(使用gunicorn和Flask的默认服务器)。当我加载我的主页时,其他内容都正常加载,唯独我的主样式表没有加载。<link>
标签在Chrome的开发者工具中可以看到。
<link rel="stylsheet" href="/static/main.4dd3f5a6.css" type="text/css">
我可以点击href
,然后会打开一个新标签页,显示我的压缩CSS文件。但是,当我在Resources
标签下查看时,样式表却没有显示出来。我在网上找到的一个可能的问题是,我的本地服务器可能用错误的Content-Type
来提供CSS文件。不过,当我在Network
标签下查看Content-Type时,样式表根本没有显示在那里!我使用Flask-Assets来加载我的资源,似乎对JavaScript没问题,但CSS却不行。这是我设置webassets的一些相关代码。
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(目前还不是生产环境),但在他们的服务器上也遇到了同样的问题。
有没有什么想法?
1 个回答
1
虽然我来得有点晚,但我也遇到了同样的问题。
把类型属性放到链接语句的前面后,它就正常工作了。
<link type="text/css" href="{{ ASSET_URL }}" rel="stylesheet">
而不是
<link rel="stylsheet" href="{{ ASSET_URL }}" type="text/css">