当前位置: 首页 > wzjs >正文

免费做问卷的网站中国十大流量网站

免费做问卷的网站,中国十大流量网站,建设银行对账单查询网站,自己建立一个网站Flask 入门到实战:使用 SQLAlchemy 打造可持久化的数据层一、前言:为什么用 Flask-SQLAlchemy? 在 Python Web 开发中,操作数据库的方式主要有两种: 直接写 SQL(繁琐且难维护)使用 ORM&#xff…

Flask 入门到实战:使用 SQLAlchemy 打造可持久化的数据层


一、前言:为什么用 Flask-SQLAlchemy?

在 Python Web 开发中,操作数据库的方式主要有两种:

  1. 直接写 SQL(繁琐且难维护)
  2. 使用 ORM(对象关系映射),例如 SQLAlchemy

Flask-SQLAlchemy 是 Flask 官方推荐的 SQLAlchemy 封装扩展,它让数据库操作变得:

  • 更符合 Python 风格
  • 更容易维护
  • 更易于与 Flask 集成

二、环境准备

确保你已安装 Flask。如果没有:

pip install flask

然后安装 Flask-SQLAlchemy:

pip install flask_sqlalchemy

三、基本项目结构

project/
├── app.py
└── models.py

四、配置数据库连接

app.py 中添加配置(使用 SQLite 作为示例):

from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)# 配置数据库 URI
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = Falsedb = SQLAlchemy(app)

五、定义模型(Model)

新建 models.py 文件或在 app.py 中定义模型:

from app import dbclass User(db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(80), unique=True, nullable=False)email = db.Column(db.String(120), unique=True, nullable=False)def __repr__(self):return f'<User {self.username}>'

六、初始化数据库

创建数据库文件和表结构:

在 Python 控制台执行:

from app import db
db.create_all()

这将在项目根目录生成一个 site.db 文件。

或者你也可以直接使用类似Navicat的数据库管理软件直接自己建库,然后连接。


七、增删改查操作(CRUD)

大致都遵循这样的步骤:

1.创建实例对象;

2.添加到数据库会话

3.提交会话,保存到数据库端

1. 添加用户

from app import db
from models import Usernew_user = User(username='alice', email='alice@example.com')
db.session.add(new_user)
db.session.commit()

2. 查询用户

user = User.query.filter_by(username='alice').first()
print(user.email)

3. 修改用户

user.email = 'newalice@example.com'
db.session.commit()

4. 删除用户

db.session.delete(user)
db.session.commit()

八、集成到 Web 应用

你可以通过视图函数来接收用户输入并操作数据库,例如:

@app.route('/add_user/<username>/<email>')
def add_user(username, email):# 创建用户实例user = User(username=username, email=email)# 添加到数据库会话db.session.add(user)# 提交会话到数据库db.session.commit()return f'用户 {username} 已添加'

九、数据库迁移:使用 Flask-Migrate(可选进阶)

如果项目不断发展,你会频繁变更模型结构,这时数据库迁移就变得非常重要。

安装 Flask-Migrate:

pip install flask-migrate

基本使用:

from flask_migrate import Migratemigrate = Migrate(app, db)

然后使用 CLI 工具进行版本管理:

flask db init
flask db migrate -m "Initial migration"
flask db upgrade

这可以避免每次手动调用 create_all()


十、项目结构推荐(进阶)

随着项目变大,推荐使用以下结构:

project/
├── app/
│   ├── __init__.py
│   ├── models.py
│   ├── routes.py
│   └── templates/
├── migrations/
├── config.py
└── run.py

使用 Flask 的工厂模式(Factory Pattern)可以提高可维护性与扩展性。


十一、总结

通过本篇内容,你已经掌握了:

  • 如何使用 Flask-SQLAlchemy 管理数据库
  • 如何定义模型并进行增删改查操作
  • 如何将数据库操作集成到 Web 应用中
  • 数据迁移工具的基本用法

接下来我们将深入学习:ORM:用 SQLAlchemy 优雅操作数据库


文章转载自:

http://1TzAc5Ui.fnbtn.cn
http://syBaNUYK.fnbtn.cn
http://UU1rHmxW.fnbtn.cn
http://im4h5WUh.fnbtn.cn
http://XHJoCehF.fnbtn.cn
http://fZmviyJ7.fnbtn.cn
http://xBur8PzE.fnbtn.cn
http://V4iPgYXi.fnbtn.cn
http://7YdVgmfP.fnbtn.cn
http://JJGTKbZY.fnbtn.cn
http://7PTnkyGs.fnbtn.cn
http://Qqii9iGg.fnbtn.cn
http://LpwDjSWV.fnbtn.cn
http://5nf5iyAZ.fnbtn.cn
http://pMxD1Mg8.fnbtn.cn
http://ZqYPOs4W.fnbtn.cn
http://iPLjomJs.fnbtn.cn
http://CGGaXjb7.fnbtn.cn
http://8QCYCL2w.fnbtn.cn
http://l9thvx18.fnbtn.cn
http://NIXBWW11.fnbtn.cn
http://XI2TAwrL.fnbtn.cn
http://Pwd8LB2P.fnbtn.cn
http://Xh0FxHVa.fnbtn.cn
http://vBcpQ2iV.fnbtn.cn
http://hgbXxcEI.fnbtn.cn
http://5sp3r1xe.fnbtn.cn
http://5YvPljwT.fnbtn.cn
http://JFMvlXhp.fnbtn.cn
http://HXEAyOdW.fnbtn.cn
http://www.dtcms.com/wzjs/642373.html

相关文章:

  • 什么是网络营销网络营销与电商营销有什么区别营口网站seo
  • 缔客网络上海响应式网站建设中国设计师联盟网站
  • 搜房网网站跳出率网站虚拟主机有什么用
  • 怎么才能注册做网站个人网站也要备案吗
  • 学生作业网站阿里云怎么做网站
  • 最专业的佛山网站建设价格手机界面设计
  • 建设京东类的网站需要什么流程专业网站制作公司采用哪些技术制作网站?
  • 酷站官网设计本室内设计师网
  • 那些网站可以做0首付分期手机外网如何访问群晖wordpress
  • 福建网站建设有限公司襄樊网站制作公司
  • 重庆网站建设 狐灵国内建筑设计网站
  • 做ppt的背景图片网站网站改版 删除栏目
  • 深圳网站建设团队买卖链接网站
  • wordpress检查全站链接WordPress上不了
  • 卓越高职院建设网站wordpress蜜蜂采集
  • 网站建设怎么样网站里的活动专题栏怎么做
  • 前几年做那个网站能致富网页设计与制作项目教程答案
  • 网站开发是怎么开发的网站建设基本流程备案
  • 织梦dedecms网站简略标题shorttitle的使用方法云南建设注册考试中心网站app
  • 杭州建设网站公司网站网站建设走什么科目
  • 从哪些方面建设网站周至做网站的公司
  • 上海网站建设服务电话只做网站不做app
  • 站群网站和做seo那个号上海做网站站优云一一十七
  • 网站备案主体信息变更湖北网站seo设计
  • 漳州市网站建设网站建设步骤和流程
  • 苏州建设交通学校网站logo智能设计
  • 泉州做网站建设聊城做网站的公司咨询
  • 做网上商城网站设计茶叶网站建设策划书ppt
  • 北京网站关键词排名推广响水做网站
  • 禄丰网站建设濮阳网站建设网站