使用python建立一个网站,数据库使用sql server,数据库登录名为Yum,密码为123456,允许从数据库Prices中调取数据,并将此数据显示,网站有个标题‘智慧零售’。在调取数据的时候同时显示具有相同标签的商品以及价格
时间: 2024-03-01 08:56:23 浏览: 53
好的,下面是一个示例代码,实现了从 SQL Server 数据库中读取数据,并在网站上显示出来,同时根据商品标签进行分组:
```python
# 导入必要的库
import pyodbc
from flask import Flask, render_template
# 连接 SQL Server 数据库
conn = pyodbc.connect('Driver={SQL Server};'
'Server=your_server_name;'
'Database=Prices;'
'UID=Yum;'
'PWD=123456')
# 创建 Flask 应用
app = Flask(__name__)
# 编写视图函数
@app.route('/')
def index():
# 执行 SQL 查询语句
cursor = conn.cursor()
cursor.execute('SELECT * FROM Prices ORDER BY Tag')
rows = cursor.fetchall()
# 对数据进行分组
groups = {}
for row in rows:
tag = row[2]
if tag in groups:
groups[tag].append(row)
else:
groups[tag] = [row]
# 在页面上显示数据
return render_template('index.html', title='智慧零售', groups=groups)
# 运行应用
if __name__ == '__main__':
app.run()
```
在上面的代码中,我们首先使用 pyodbc 库连接 SQL Server 数据库,并在视图函数中执行 SQL 查询语句,获取数据库中的数据。然后,我们对数据进行了分组,将具有相同标签的商品放在同一组中。
在模板中,我们使用循环语句遍历数据,并将具有相同标签的商品以及价格显示在同一行中。下面是一个示例模板代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ title }}</h1>
{% for tag, rows in groups.items() %}
<h2>{{ tag }}</h2>
<table>
<tr>
<th>商品</th>
<th>价格</th>
</tr>
{% for row in rows %}
<tr>
<td>{{ row[0] }}</td>
<td>{{ row[1] }}</td>
</tr>
{% endfor %}
</table>
{% endfor %}
</body>
</html>
```
在上面的模板代码中,我们使用了 Flask 模板引擎的语法,通过循环语句遍历获取到的数据,并在页面中显示出来。我们还使用了字典的 items() 方法,将分组后的数据以字典形式传递给模板。
请注意,上述代码仅为示例代码,实际应用中还需要进行错误处理、安全性检查等。同时,还需要根据实际情况修改连接字符串和 SQL 查询语句。
阅读全文