利用sqlite3和flask库完成编程任务。 (1)使用实验5.2设计的数据库test.db及库中学生数据表student(sid, sname, ssex, sage, sclass)。 (2)利用sqlite3和flask库显示学生数据信息。 (3)要求熟悉html和css基本知识,自学掌握<div>和<table>等html标记,自学掌握margin、padding、border、width、height、color、text-align、line-height、vertical-align、font-size、font-weight等css样式,实验效果如图5-14所示。
时间: 2024-04-03 12:36:28 浏览: 119
好的,我会尽力回答您的问题。
首先,需要在Python中安装sqlite3和flask库,可以通过以下命令进行安装:
```
pip install sqlite3
pip install flask
```
接下来,可以使用以下代码来连接test.db数据库,并查询学生数据表中的所有数据:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('test.db')
# 获取游标
cursor = conn.cursor()
# 查询学生数据表中的所有数据
cursor.execute('SELECT * FROM student')
results = cursor.fetchall()
# 关闭游标和连接
cursor.close()
conn.close()
```
接下来,可以使用flask库创建一个Web应用程序,并将查询到的学生数据以表格的形式展示出来。可以参考以下代码:
```python
from flask import Flask, render_template
import sqlite3
app = Flask(__name__)
@app.route('/')
def show_students():
# 连接数据库
conn = sqlite3.connect('test.db')
# 获取游标
cursor = conn.cursor()
# 查询学生数据表中的所有数据
cursor.execute('SELECT * FROM student')
results = cursor.fetchall()
# 关闭游标和连接
cursor.close()
conn.close()
# 将查询结果传递给HTML模板,并进行渲染
return render_template('students.html', students=results)
if __name__ == '__main__':
app.run()
```
在上面的代码中,我们使用了Flask的`render_template`函数将查询到的学生数据传递给了一个名为`students.html`的HTML模板。下面是`students.html`模板的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>学生信息</title>
<style>
table {
margin: 20px auto;
border-collapse: collapse;
width: 80%;
}
th, td {
padding: 10px;
border: 1px solid #ddd;
text-align: center;
}
th {
background-color: #f2f2f2;
color: #333;
font-weight: bold;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
tr:hover {
background-color: #ddd;
}
</style>
</head>
<body>
<h1>学生信息</h1>
<table>
<tr>
<th>学号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>班级</th>
</tr>
{% for student in students %}
<tr>
<td>{{ student[0] }}</td>
<td>{{ student[1] }}</td>
<td>{{ student[2] }}</td>
<td>{{ student[3] }}</td>
<td>{{ student[4] }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
```
在上面的代码中,我们使用了HTML的`<table>`标记来创建了一个表格,并使用CSS样式来设置了表格的样式。在Flask中,我们可以使用`{{ }}`来插入Python代码,并使用`{% %}`来插入控制语句,例如`{% for %}`循环。在上面的代码中,我们使用了`{% for %}`循环将查询到的学生数据逐行渲染到表格中。
最后,运行Python代码,并在浏览器中访问`http://localhost:5000/`即可查看学生数据信息。
阅读全文