Ответ 1
Я не уверен, что это за элемент конфигурации STATIC_FOLDER
, который вы используете. Где вы его нашли?
Фактически есть два аргумента конструктора класса Flask
, которые определяют конфигурацию статических файлов:
-
static_folder: по умолчанию используется значение "static". Это префикс, который вы должны использовать в URL-адресах для доступа к статическим файлам.
-
static_url_path: это место на диске статической папки. По умолчанию это значение совпадает с параметром static_folder.
Например, если вы используете эту конфигурацию:
from flask import Flask
app = Flask(__name__, static_url_path = "/tmp", static_folder = "tmp")
Затем вы можете получить доступ к своим изображениям следующим образом:
<img src='/tmp/IKE2low.jpg' width="200" height="85">
Вы также можете удалить необходимость иметь префикс в URL-адресах следующим образом:
from flask import Flask
app = Flask(__name__, static_url_path = "", static_folder = "tmp")
И затем вы можете получить доступ к своим изображениям как:
<img src='/IKE2low.jpg' width="200" height="85">
Обратите внимание, что вам все равно нужно иметь root /
.
Но лучший способ сделать это - явно не ссылаться на пути изображения, а вместо этого использовать url_for
для создания правильных URL-адресов. Если вы используете шаблоны Jinja2, которые будут:
<img src="{{ url_for('static', filename = 'IKE2low.jpg') }}" width="200" height="85">
Это последнее выражение будет работать независимо от того, где и как настроены статические файлы.