Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 27, 2015 09:59:04

okinisan
Зарегистрирован: 2015-08-27
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывести данные из таблицы

Добрый день. прошу помочь разобраться с проблемой. Пишу веб-приложения, используя flask и sqlalchemy. Есть страница с загрузкой данных: имя, email, topic, body. Всё это ложится в таблицу, необходимо вывести все поля из таблиц на одну из страниц. Как это сделать?
Часть кода из models.py

class Incidents(db.Model):
  __tablename__ = 'incidents'
  uid = db.Column(db.Integer, primary_key = True)
  orgname = db.Column(db.String(100))
  email = db.Column(db.String(120), unique = True)
  topic = db.Column(db.String(100))
  body = db.Column(db.String(2000))
  
  def __init__(self, orgname, email, topic, body):
    self.orgname = orgname.title()
    self.email = email.lower()
    self.topic = topic.title()
    self.body = body.title()
Теперь мне необходимо вывести все данные, загруженные в данную таблицу вывести на страницу приложения. С помощью данной функции:
@app.route('/all')
def show_all():
  data = Incidents.query.all()
  return render_template('all.html', data=data)
Шаблон для отображения в прикреплении. В итоге на странице ничего не отображается. В чём ошибка?

Прикреплённый файлы:
attachment all.html (773 байта)

Офлайн

#2 Авг. 27, 2015 10:03:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вывести данные из таблицы

@app.route('/all')
def show_all():
  data = Incidents.query.all()
  print(data)   # Есть там что-нибудь вообще?
  return render_template('all.html', data=data)



Офлайн

#3 Авг. 27, 2015 11:24:40

okinisan
Зарегистрирован: 2015-08-27
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывести данные из таблицы

Добавил

print(data)
, так же ничего не вышло. Но в таблице данные есть, средствами mysql проверял.

Офлайн

#4 Авг. 27, 2015 11:41:58

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Вывести данные из таблицы

okinisan
Исправьте ошибку в шаблоне. Подсказка: в шаблон передается переменная data.

Отредактировано sander (Авг. 27, 2015 11:42:29)

Офлайн

#5 Авг. 27, 2015 12:11:48

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

Вывести данные из таблицы

.

Отредактировано J.R. (Фев. 27, 2016 16:36:52)

Офлайн

#6 Авг. 27, 2015 12:24:31

okinisan
Зарегистрирован: 2015-08-27
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывести данные из таблицы

sander
okinisanИсправьте ошибку в шаблоне. Подсказка: в шаблон передается переменная data.
Извиняюсь, не понимаю, где нужно поместить переменую data?

Офлайн

#7 Авг. 27, 2015 12:25:50

okinisan
Зарегистрирован: 2015-08-27
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывести данные из таблицы

J.R.
Ошибку с тегами устранил ранее, не помогло.

Офлайн

#8 Авг. 27, 2015 12:35:45

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

Вывести данные из таблицы

.

Отредактировано J.R. (Фев. 27, 2016 16:37:50)

Офлайн

#9 Авг. 27, 2015 13:13:48

okinisan
Зарегистрирован: 2015-08-27
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывести данные из таблицы

J.R.
okinisanСмотрите на свою вьюху внимательно:
Спасибо большое! Действительно, глупая ошибка.
Добавил цикл следующий:
{% for i in range(10) %}
     {% for incident in data %}
          <tr>
              <td>{{ data[i].uid }}</td>
              <td>{{ data[i].orgname }}</td>
               <td>{{ data[i].email }}</tb>
               <td>{{ data[i].topic }}</tb>
               <td>{{ data[i].body }}</td>
         </tr>
   {% endfor %}
{% endfor %}

Теперь всё отображает, ещё раз спасибо!

Офлайн

#10 Авг. 27, 2015 15:38:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вывести данные из таблицы

okinisan
Теперь всё отображает, ещё раз спасибо!
Да? А принт внутри вьюхи по-прежнему не выводит на консоль ничего?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version