Чтобы вывести данные из базы данных 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 и не получить пустые строки.