Как получить статические файлы в Flask без url_for ('static', file_name = 'xxx')

Я не хочу использовать url_for ('static', file_name = 'foo.jpg'), чтобы получить статический файл в шаблоне.

как получить статический файл таким образом:

<img src="/pic/foo.jpg" />

спасибо

Ответ 1

Вы можете настроить свой собственный маршрут для обслуживания статических файлов. Добавьте этот метод и обновите каталог статического пути в методе send_from_directory, тогда ваш тег img должен работать.

@app.route('/pic/<path:filename>')
def send_pic(filename):
    return send_from_directory('/path/to/static/files', filename)

Для производственного приложения вы должны настроить сервер для непосредственного обслуживания статических файлов. Это будет намного быстрее и меньше ресурсов сервера, но для нескольких пользователей разница не должна быть проблемой.