使用python建立一个网站,数据库使用sql server,允许从数据库Prices中调取数据,并将此数据显示给user,网站有个标题‘智慧零售’。在调取数据的时候同时显示具有相同标签的商品以及价格
时间: 2024-03-01 11:56:12 浏览: 54
基于Python的网上购物平台
好的,我可以为您解答这个问题。首先,您需要安装 Python 的 web 框架,比如 Flask。其次,您需要安装 SQL Server 的 Python 驱动程序,比如 pyodbc。最后,您需要编写代码来连接数据库,查询数据,并在网页上显示数据。
以下是一个简单的示例代码,您可以根据您的需求进行修改:
```python
from flask import Flask, render_template
import pyodbc
app = Flask(__name__)
# 数据库连接信息,需要根据您的情况进行修改
server = 'localhost'
database = 'your_database'
username = 'your_username'
password = 'your_password'
cnxn = pyodbc.connect(f'DRIVER=ODBC Driver 17 for SQL Server;SERVER={server};DATABASE={database};UID={username};PWD={password}')
@app.route('/')
def index():
# 查询 Prices 表中的数据
cursor = cnxn.cursor()
cursor.execute('SELECT * FROM Prices')
rows = cursor.fetchall()
# 根据相同标签进行分组
groups = {}
for row in rows:
label = row[1]
if label not in groups:
groups[label] = []
groups[label].append(row)
# 渲染网页模板,将数据传递给模板
return render_template('index.html', title='智慧零售', groups=groups)
if __name__ == '__main__':
app.run()
```
在上面的代码中,我们首先连接 SQL Server 数据库,然后查询 Prices 表中的数据。接着,我们根据相同标签进行分组,并将分组后的数据传递给网页模板。最后,我们使用 Flask 渲染模板,并启动 web 服务器。
在网页模板中,您可以使用 Jinja2 模板语言来显示数据。以下是一个简单的示例模板:
```html
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
{% for label, rows in groups.items() %}
<h2>{{ label }}</h2>
<ul>
{% for row in rows %}
<li>{{ row[0] }} - {{ row[2] }}</li>
{% endfor %}
</ul>
{% endfor %}
</body>
</html>
```
在上面的模板中,我们使用了 for 循环来遍历分组后的数据,并将数据显示为一个无序列表。同时,我们使用了模板变量来显示网页标题。您可以根据您的需求进行修改。
希望这个简单的示例能够帮助您解决问题。如果您有任何疑问,请随时问我。
阅读全文