Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/55: Рейтинг темы: голосов - 55, средняя оценка - 4.95
4 / 4 / 1
Регистрация: 14.02.2016
Сообщений: 126

Как вывести картинку в html-шаблон (название картинки беру из базы данных)?

12.07.2018, 11:47. Показов 11160. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в базе данных хранится название картинки pic1.jpg
Нужно как-то вставить это название в тег <img src="{{ название картинки из БД }}">

Все выводится кроме картинки. Изображение скопировал во все папки и подпапки проекта. (т.е. проблема не в этом)

файл с моделями:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from app import db
import pickle
 
#На название внимание не обращайте (тестовая версия)
class Deserts(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    cost = db.Column(db.Numeric(7,2))
    picture = db.Column(db.String(50))
    description = db.Column(db.Text)
 
    def __init__(self, *args, **kwargs):
       super(Deserts, self).__init__(*args, **kwargs)
 
    def __repr__(self):
        return f'<id: {self.id}, name: {self.name}, cost: {self.cost},' \
               f' picture: {self.picture}, description: {self.description}>'


файл с маршрутами:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from flask import Blueprint, render_template
from models import Deserts
 
catalogs = Blueprint('catalogs', __name__, template_folder= 'templates')
 
#вот здесь передаю набор записей в шаблон. Проблема ТОЛЬКО с изображением
@catalogs.route('/')
def menu():
    catalogs = Deserts.query.all()
    return render_template('menu/menu.html',catalogs=catalogs)
 
#ниже все норм
@catalogs.route('/deserts')
def deserts():
    return render_template('menu/deserts.html')
 
@catalogs.route('/drinks')
def drinks():
    return render_template('menu/drinks.html')
 
@catalogs.route('/soups')
def soups():
    return render_template('menu/soups.html')
 
@catalogs.route('/steaks')
def steaks():
    return render_template('menu/steaks.html')


html-шаблон с нерабочей картинкой:
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{% extends 'base.html' %}
 
{% block title %}
    Просто текст
{% endblock %}
 
{% block content_title %}
    Текст
{% endblock %}
 
{% block content %}
<!--здесь прогоняю по каждой записи в наборе-->
    {% for cat in catalogs %}
    <p>
        {{cat.name}}
    </p>
    <p>
        {{cat.cost}}
    </p>
    <p>
                <!--здесь проблема с изображением-->
        <img src="{{ cat.picture }}">
 
    </p>
    <p>
        {{cat.description}}
    </p>
    {% endfor %}
{% endblock %}


Добавлено через 6 часов 0 минут
да помогите уже, не много ж прошу
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2018, 11:47
Ответы с готовыми решениями:

Как вывести картинку из базы данных phpmyadmin?
Здравствуйте, проблема вот в чем, хочу сделать что то вроде новостей, точнее сделал, но не отбражается картинка , появляется только ее...

Как вывести картинку из базы данных SQLite в pictureBox1?
Как вывести картинку из базы данных SQLite в pictureBox1, если картинка находится в 24 столбце 1 строке, название столбца img, а номер...

Как выводить картинку и название картинки из БД ссылками?
У меня идет вывод картинок через бд. &lt;? include('inc/dbconnect.php'); $res = mysql_query(&quot;SELECT `title`,...

4
Эксперт Python
 Аватар для dondublon
4648 / 2068 / 366
Регистрация: 17.03.2012
Сообщений: 10,168
Записей в блоге: 6
12.07.2018, 14:27
1. Посмотреть ваш путь картинки в результирующем html.
2. Ввести его в браузер отдельно. Посмотреть на ответ сервера.
3. Подумать над ответом. Тут разное может быть, но вероятнее всего дело в конфигурации сервера.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
12.07.2018, 17:25
В джанго было бы так:
HTML5
1
<img src="{{ cat.picture.url }}">
Присоединяюсь к вопросу 1 выше. Что в html, и что должно быть?

Ещё следует помнить, что сервер должен отдавать файлы. Если говорить про продакшн, то обычно раздачей файлов занимается веб-сервер, как отдавать файлы при разработке - надо искать. Начните с этого, допустим, чтобы в браузере открылась картинка по адресу http://127.0.0.1:8000/media/pic1.jpg
0
4 / 4 / 1
Регистрация: 14.02.2016
Сообщений: 126
13.07.2018, 04:11  [ТС]
по другому сделал:
в приложении прописал app = Flask(__name__,static_url_path='/static')
в шаблоне <img src="/static/images/{{cat.picture}}">

Может и не совсем правильно, но вроде работает.
Спасибо всем, кто пытался помочь.
0
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 1
13.07.2018, 08:52
Добрый день.

В html шаблоне во Flask картинки выводите так:
HTML5
1
<img src="{{ url_for('static', filename='picture_name.png') }}"
В этом случае файл picture_name.png должен лежать в папке static.

Можно во вложенных папках
HTML5
1
<img src="{{ url_for('static', filename='images/picture_name.png') }}"
В этом случае файл picture_name.png должен лежать в папке static/images.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.07.2018, 08:52
Помогаю со студенческими работами здесь

Как вытащить название картинки из БД и показать картинку на экране
Приветствую знатоков форума. Очень нужна помощь. Имеется форум phpbb и соответственно БД к нему. в БД? в таблице sp_items, в столбце...

Как в PictureBox положить картинку из ресурсов имея название картинки в string переменной
Добрый день/вечер, такой вопрос как загрузить картинку за ресурсов программы в PictureBox когда название нужной картинки хранится в string...

Вывести на консоль из базы данных название оборудования
Name -название port - номер порта которая в сервере в текстбоксе записывается и включает поток. Надо вывести порт (это уже сделал),...

Вывести на консоль из базы данных название станка по ключу
Сделал программки типа клиент-сервер. Клиент (winform приложение), а сервер (консольное прил-е). На клиенте ввожу номер порта (например,...

Как вывести картинку из базы
Не понимаю как вывести, делаю вывод а он мне столько крокозябрей выдает , а е картинку Добавлено через 56 минут вот код ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru