Ссылка на статические файлы колбы с url для
как вы используете url_for в колбе ссылаться на файл в папке? Например, у меня есть некоторые статические файлы в static папка, некоторые из которых могут быть в подпапках, таких как static/bootstrap.
когда я пытаюсь обслуживать файл из static/bootstrap, Я получаю сообщение об ошибке.
<link rel=stylesheet type=text/css href="{{ url_for('static/bootstrap', filename='bootstrap.min.css') }}">
Я могу ссылаться на файлы, которые не находятся в подпапках с этим, что работает.
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='bootstrap.min.css') }}">
Как правильно ссылаться на статические файлы с помощью url_for? Как я могу использовать url_for создать URL-адреса статических файлов на любом уровне?
2 ответа:
у вас есть по умолчанию
staticточка для статических файлов. ТакжеFlaskприложение имеет следующие аргументы:
static_url_path: можно использовать для указания другого пути для статических файлов в интернете. По умолчанию используется имя .
static_folder: папка со статическими файлами, которые должны обслуживаться вstatic_url_path. По умолчанию используется папка "static" в корневом пути приложения.это означает что за
filenameаргумент будет принимать относительный путь к файлу вstatic_folderи преобразовать его в относительный путь в сочетании сstatic_url_default:url_for('static', filename='path/to/file')преобразует путь к файлу с
static_folder/path/to/fileк пути urlstatic_url_default/path/to/file.так что если вы хотите получить файлы из вы используете этот код:
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='bootstrap/bootstrap.min.css') }}">который будет преобразован в (используя настройки по умолчанию):
<link rel="stylesheet" type="text/css" href="static/bootstrap/bootstrap.min.css">также посмотреть
url_forдокументация.