@viktoryardo

Как вставить картинку на сайт с помощью Flask из SQL таблицы?

Нужно вставить картинку на сайт с помощью Flask, но ее название находится в sql таблице. Как это сделать?
  • Вопрос задан
  • 490 просмотров
Решения вопроса 1
@S86U
Используйте переменную ( например `image_path`), которая содержит путь к изображению, полученный из базы данных. Этот путь передается в HTML-шаблон с помощью функции `render_template()` Flask.
Затем этот путь вставляете в теге для отображения изображения на странице.
Отображение картинки в HTML-шаблоне:
<b>Отображение картинки в HTML-шаблоне:</b>
<!DOCTYPE html>
<html>
<head>
    <title>Отображение изображения</title>
</head>
<body>
    <img src="{{ image_path }}" alt="Изображение">
</body>
</html>

Далее в Flask для получения пути к изображению из базы данных:

from flask import Flask, render_template
import sqlite3 // для примера
app = Flask(__name__)

@app.route('/image/')
def get_image(image_id):
# Подключаемся к базе данных
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# Получаем путь к изображению
cursor.execute("SELECT path FROM images WHERE id=?", (image_id,))
image_path = cursor.fetchone()[0]

# Возвращаем HTML-шаблон с путем к изображению
return render_template('image.html', image_path=image_path)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Написать хандлер, который будет выдергивать картинку и посылать ее в request в виде блоба с заголовком Content-type image/jpeg например.
Примерно так - https://gist.github.com/Miserlou/fcf0e9410364d98a8...
Второй вариант - вставить картинку в html в виде inline-image, преобразовав ее в base64 (если картинка не очень большая)
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4
        //8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы