Python Flask 使用数据库

pip install flask_sqlalchemy

官方文档:

Flask-SQLAlchemy — Flask-SQLAlchemy Documentation (3.1.x)

为了不报错 也 需要导入另外两个库

# pip install flask_sqlalchemy
# pip install mysqlclient

完整代码

import os

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# pip install PyMySQL
# pip install flask_sqlalchemy
# pip install mysqlclient
app = Flask(__name__)


class Config:
    # 配置数据库的链接
    SQLALCHEMY_DATABASE_URI = os.environ['MYSQL_ALL']
    # 动态追踪修改设置,如未设置只会提示警告
    SQLALCHEMY_TRACK_MODIFICATIONS = False


app.config.from_object(Config)
db = SQLAlchemy(app)


class Role(db.Model):
    '''角色表'''
    __tablename__ = 'test_la_role'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(32), unique=True)


class User(db.Model):
    '''用户表'''
    __tablename__ = 'test_la_user'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128), unique=True)
    password = db.Column(db.String(128))
    role_id = db.Column(db.Integer, db.ForeignKey('test_la_role.id'))

if __name__ == '__main__':
    with app.app_context():  # 激活应用上下文
        # 创建数据库引擎,如果是首次运行,需要创建数据库结构
        db.create_all()

        # 插入初始数据
        if not Role.query.first():
            role1 = Role(name='admin')
            db.session.add(role1)
            db.session.commit()

            role2 = Role(name='user')
            db.session.add(role2)
            db.session.commit()

            user1 = User(name='admin_user', password='admin123', role_id=role1.id)
            user2 = User(name='regular_user', password='user123', role_id=role2.id)
            db.session.add_all([user1, user2])
            db.session.commit()

    app.run(debug=True)

要创建表并插入数据,您已经有了基本框架和模型定义,接下来需要确保数据库连接配置正确,并且取消注释相关的操作代码。我将按照您的代码结构提供一个完善后的示例,包括创建表和插入初始数据的步骤。

确保您的数据库已经创建好了,且MYSQL_ALL环境变量正确设置为数据库连接字符串。例如,对于MySQL,它可能看起来像这样:

 

pymysql://username:password@localhost:port/dbname

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python Flask框架中使用数据库的一种常见方式是通过ORM(对象关系映射)框架来操作数据库,比如使用SQLAlchemy。ORM框架可以帮助我们将数据库操作转化为面向对象的方式,而不需要直接使用SQL语句。 在使用Python Flask框架中的ORM框架SQLAlchemy进行数据库操作时,可以按照以下步骤进行: 1. 导入所需的模块和类,包括Flask和SQLAlchemy。 2. 创建一个Flask应用程序实例。 3. 配置数据库连接信息,包括数据库类型、用户名、密码、主机和端口等。 4. 创建一个数据库模型类,该类对应数据库中的表格,并定义各个字段的属性和关联关系。 5. 在应用程序中使用该模型类进行数据库操作,比如查询、插入、更新和删除等。 6. 在需要的时候提交或回滚事务。 以下是一个简单的示例代码,展示了如何在Python Flask框架中使用SQLAlchemy进行数据库操作: ``` # 导入所需的模块和类 from flask import Flask from flask_sqlalchemy import SQLAlchemy # 创建Flask应用程序实例 app = Flask(__name__) # 配置数据库连接信息 app.config['SQLALCHEMY_DATABASE_URI'] = '数据库连接信息' # 创建SQLAlchemy对象 db = SQLAlchemy(app) # 创建数据库模型类 class Movie(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) director = db.Column(db.String(50)) year = db.Column(db.Integer) # 在应用程序中使用模型类进行数据库操作 @app.route('/') def index(): # 查询电影列表 movies = Movie.query.all() return str(movies) # 启动应用程序 if __name__ == '__main__': app.run() ``` 在上述示例代码中,我们使用了SQLAlchemy对数据库进行操作。通过定义模型类Movie,并在应用程序中进行查询操作,可以获取到数据库中的电影列表。 需要注意的是,具体的数据库连接信息需要根据实际情况进行配置,比如数据库类型、用户名、密码、主机和端口等。 总结来说,在Python Flask框架中使用ORM框架SQLAlchemy可以帮助我们简化数据库操作,不需要直接使用SQL语句,而是通过定义模型类和使用ORM框架提供的方法来进行数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值