Как использовать Python для извлечения данных из базы данных и отобразить их на веб-странице с помощью HTML?

Как обеспечить связь между базой данных в Python и файлом HTML для вывода таблицы?
  • 1 августа 2024 г. 15:43
Ответы на вопрос 1
Для извлечения данных из базы данных и отображения их на веб-странице с помощью HTML сначала необходимо установить библиотеку для работы с базами данных в Python, такую как SQLAlchemy или SQLite3.

После подключения к базе данных и извлечения данных в Python можно использовать фреймворк Flask для создания веб-приложения. Flask позволяет легко создать сервер для отображения HTML страниц. 

Для вывода данных из базы данных на HTML страницу можно воспользоваться шаблонизатором Jinja2, который позволяет передавать данные из Python в HTML файл.

Пример кода:

```python
from flask import Flask, render_template
import sqlite3

app = Flask(__name__)

# Подключение к базе данных
conn = sqlite3.connect('database.db')
cursor = conn.cursor()

# Запрос данных из базы
cursor.execute('SELECT * FROM table')
data = cursor.fetchall()

conn.close()

# Создание HTML страницы с использованием шаблонизатора Jinja2
@app.route('/')
def home():
    return render_template('index.html', data=data)

if __name__ == '__main__':
    app.run()
```

В HTML файле (index.html) можно использовать Jinja2 для вывода данных в виде таблицы:

```html
<!DOCTYPE html>
<html>
<head>
    <title>Data Table</title>
</head>
<body>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Email</th>
            </tr>
        </thead>
        <tbody>
            {% for row in data %}
                <tr>
                    <td>{{ row[0] }}</td>
                    <td>{{ row[1] }}</td>
                    <td>{{ row[2] }}</td>
                </tr>
            {% endfor %}
        </tbody>
    </table>
</body>
</html>
```

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