flask操作sqlite数据库,如何获取每一行数据并展示到页面上
时间: 2024-02-27 19:54:10 浏览: 293
在Flask中使用SQLite数据库可以使用Python的内置SQLite模块来实现。获取每一行数据并展示到页面上,可以按照以下步骤进行:
1. 在Python中连接SQLite数据库,并执行SQL查询语句获取数据。例如:
```python
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM table_name")
rows = cursor.fetchall()
```
这里`table_name`是你所查询的表的名称,`rows`是一个包含所有查询结果的元组列表。
2. 在Flask中,可以将查询结果作为参数传递给HTML模板,然后在模板中使用模板语言(如jinja2)动态生成页面内容。例如:
在Flask中定义一个路由函数,将查询结果传递给HTML模板:
```python
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/show_data')
def show_data():
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM table_name")
rows = cursor.fetchall()
return render_template('show_data.html', rows=rows)
```
3. 在HTML模板中使用模板语言(如jinja2)遍历查询结果,将每一行数据展示到页面上。例如:
```html
<!DOCTYPE html>
<html>
<head>
<title>展示数据</title>
</head>
<body>
<table>
<thead>
<tr>
<th>列1</th>
<th>列2</th>
<th>列3</th>
</tr>
</thead>
<tbody>
{% for row in rows %}
<tr>
<td>{{row[0]}}</td>
<td>{{row[1]}}</td>
<td>{{row[2]}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
```
在模板中使用for循环遍历查询结果,并将每一行数据展示到表格的行中。在这个示例中,我们假设查询结果有三列,分别对应表格中的列1、列2和列3。
这样,当用户访问/show_data路由时,Flask将会执行show_data函数,获取数据并传递到show_data.html模板中,然后动态生成页面内容并返回给用户。
阅读全文