我正在尝试使用以下命令从模板(index.html)文件中引用静态文件。
{{ url_for('static', filename='test.css') }}
但是,我收到以下500错误:
127.0.0.1 - - [13/May/2018 21:34:49] "GET / HTTP/1.1" 200 -
[2018-05-13 21:34:49,603] ERROR in app: Exception on /static/test.css [GET]
Traceback (most recent call last):
File "/Users/username/folder/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/Users/username/folder/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/username/folder/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/username/folder/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/username/folder/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/username/folder/flask/helpers.py", line 976, in send_static_file
cache_timeout=cache_timeout)
File "/Users/username/folder/flask/helpers.py", line 713, in send_from_directory
return send_file(filename, **options)
File "/Users/username/folder/flask/helpers.py", line 628, in send_file
complete_length=fsize)
File "/Users/username/anaconda/lib/python2.7/site-packages/werkzeug/wrappers.py", line 1604, in make_conditional
accept_ranges = _clean_accept_ranges(accept_ranges)
File "/Users/username/anaconda/lib/python2.7/site-packages/werkzeug/wrappers.py", line 96, in _clean_accept_ranges
raise ValueError("Invalid accept_ranges value")
ValueError: Invalid accept_ranges value
127.0.0.1 - - [13/May/2018 21:34:49] "GET /static/test.css HTTP/1.1" 500 -
很奇怪,Flask会找到并发送模板文件,但它会导致静态文件出错。我怀疑Flask可以访问CSS文件,但拒绝发送它。我的怀疑是基于我尝试移动或重命名CSS文件时收到404错误。这是我的文件夹结构:
|-- web
|-- static
|-- test.css
|-- templates
|-- index.html
更新#1 以下是HTML头的内部:
<head>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='test.css') }}">
<title>Title</title>
</head>
答案 0 :(得分:0)
为方便起见,请使用<link type="text/css" rel="stylesheet" href="/static/test.css">
答案 1 :(得分:0)
我想我已经确定了错误。我正在尝试使项目可移植,因此无法安装Flask的用户可以使用它。因此,我从项目中的目录中包含并加载“flask”。
将目录重命名为“flask_2”并再次运行程序后,它在我通过pip安装的烧瓶上运行完全正常。