Колбы статических файлов возвращают 500 ошибок - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь сослаться на статический файл с помощью следующей команды из файла шаблона (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-файлу, но отказывается его отправлять. Мое подозрение основано на том, что я получаю ошибку 404, когда пытаюсь переместить или переименовать CSS-файл. Это моя структура папок:

|-- 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>

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Кажется, я обнаружил ошибку. Я пытаюсь сделать проект переносимым, чтобы его могли использовать пользователи, которые не могут установить Flask. Таким образом, я включаю и загружаю «флягу» из каталога в моем проекте.

После переименования каталога в «flask_2» и повторного запуска программы, он полностью работает на фляге, которую я установил через pip.

0 голосов
/ 14 мая 2018

Для удобства просто используйте <link type="text/css" rel="stylesheet" href="/static/test.css">

...