Почему мой оператор SQL отображается на веб-странице вместе с правильным значением? - PullRequest
0 голосов
/ 09 октября 2019

В настоящее время я использую функцию COUNT в операторе SQL для подсчета количества строк, и я передаю это в шаблон HTML с использованием Flask и Jinja.

Приложение Flask

cust_count = db.execute("SELECT COUNT(*) FROM customers")
return render_template('index.html', cust_count=cust_count)

HTML-шаблон

<p class="card-text display-1">{{ cust_count }}</p>

Вывод

[{'COUNT (*)': 3}]

Значение '3 'правильно, но почему также отображается [{' COUNT (*) '}]?

Спасибо.

Спасибо за помощь. Я добавил cust_count.fetchone () (не уверен, правильно ли я это сделал), но также получаю сообщение об ошибке.

Код:

cust_count = db.execute("SELECT COUNT(*) AS customercount FROM customers")
count = cust_count.fetchone()
return render_template('index.html', cust_count=count)

Ошибка:

Файл «C: \ Users \ Brad \ Desktop \ Final \ app.py», строка 29, в индексе cust_count.fetchone () AttributeError: у объекта «список» нет атрибута «fetchone»

1 Ответ

3 голосов
/ 09 октября 2019

Значение, переданное из db.execute, представляет собой ResultProxy. Это специальный объект, используемый SQLite3 (и другими библиотеками SQL).

Чтобы получить доступ к первому элементу списка, вы должны использовать cust_count.fetchone().

Документацию по этому вопросу можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...