Как вывести данные из бд на странице html при работе с sqlite и flask и не получить пустые строки?

Чтобы вывести данные из базы данных SQLite на странице HTML при работе с Flask, вам нужно выполнить следующие шаги:

1. Установите SQLite и Flask, если они еще не установлены. Это можно сделать с помощью менеджера пакетов pip, выполнив команду pip install sqlite3 flask.

2. Создайте базу данных SQLite и заполните ее данными. Вы можете воспользоваться инструментом командной строки SQLite или использовать SQLite-менеджер для визуального создания и заполнения базы данных.

Пример создания базы данных и таблицы (в файле database.db) с помощью инструмента командной строки SQLite:

   sqlite3 database.db
   CREATE TABLE example (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER);
   INSERT INTO example (name, age) VALUES ('John', 25);
   INSERT INTO example (name, age) VALUES ('Jane', 30);

3. Создайте файл Python с именем app.py и импортируйте необходимые модули:

   from flask import Flask, render_template
   import sqlite3

4. Инициализируйте Flask:

   app = Flask(__name__)

5. Создайте маршрут, который будет обрабатывать запросы и получать данные из базы данных:

   @app.route('/')
   def index():
       conn = sqlite3.connect('database.db')
       cursor = conn.cursor()
       cursor.execute("SELECT * FROM example")
       data = cursor.fetchall()
       conn.close()
       return render_template('index.html', data=data)

В этом коде мы подключаемся к базе данных SQLite, выполняем SQL-запрос SELECT * FROM example, чтобы получить все записи из таблицы example, и сохраняем данные в переменную data. Затем мы закрываем соединение с базой данных и передаем данные в шаблон HTML index.html с помощью функции render_template() Flask.

6. Создайте файл шаблона HTML с именем index.html. В этом файле вы можете использовать цикл для вывода данных:

   <html>
   <body>
     <table>
       <tr>
         <th>ID</th>
         <th>Name</th>
         <th>Age</th>
       </tr>
       {% for row in data %}
       <tr>
         <td>{{ row[0] }}</td>
         <td>{{ row[1] }}</td>
         <td>{{ row[2] }}</td>
       </tr>
       {% endfor %}
     </table>
   </body>
   </html>

В этом шаблоне мы используем цикл {% for row in data %} для итерации по списку data и вывода каждой строки в таблицу HTML. Доступ к значениям в каждой строке выполняется с помощью синтаксиса {{ row[0] }}, {{ row[1] }}, {{ row[2] }}.

7. Запустите Flask-приложение в своем терминале, выполнив команду python app.py.

   $ python app.py

8. Перейдите по адресу http://localhost:5000 в вашем веб-браузере, чтобы увидеть результаты. Вы должны увидеть таблицу, содержащую данные ваших записей из базы данных SQLite.

Таким образом, вы сможете вывести данные из базы данных на странице HTML при работе с SQLite и Flask и не получить пустые строки.