Python+Flask对SQL server数据库进行增删查改并在页面展示数据
时间: 2024-12-29 14:30:02 浏览: 4
Python结合Flask框架通常用于构建轻量级Web应用,而对SQL Server数据库的操作主要是通过ORM(Object-Relational Mapping)库如 SQLAlchemy 进行。以下是基本步骤:
1. **安装依赖**:
- 安装 Flask: `pip install flask`
- 安装 SQLAlchemy 和其适配器(对于SQL Server,推荐使用sqlalchemy-mssql扩展): `pip install sqlalchemy sqlalchemy-mssql`
2. **配置数据库连接**:
```python
from sqlalchemy import create_engine
engine = create_engine('mssql+pymssql://username:password@host:port/database_name')
```
3. **定义Model(模型)**:
使用 SQLAlchemy 的 Declarative Base 来创建表结构映射到数据库表:
```python
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
```
4. **CRUD操作**:
- 创建(Create): 使用session实例创建对象并提交到数据库
- 读取(Read): 查询数据库获取对象
- 更新(Update): 找到对象并更新属性然后提交
- 删除(Delete): 从数据库中移除对象
5. **Flask视图函数**:
在Flask路由中,处理HTTP请求,并与数据库交互:
```python
@app.route('/users', methods=['GET', 'POST'])
def manage_users():
if request.method == 'POST':
# 新建用户
new_user = User(name=request.form['name'])
db.session.add(new_user)
db.session.commit()
else:
# 获取或显示所有用户
users = User.query.all()
return render_template('users.html', users=users)
```
6. **模板展示**:
创建`users.html`模板文件,利用 Jinja2 模板语言遍历查询结果:
```html
<ul>
{% for user in users %}
<li>{{ user.name }}</li>
{% endfor %}
</ul>
```
阅读全文