Flask框架学习笔记-个人记录

SQLAlchemy 数据库操作

  1. #安装依赖库
    pip install flask
    pip install flask-sqlalchemy
  2. from flask import Flask, render_template
    from flask_sqlalchemy import SQLAlchemy
    
    #初始化flask应用实例
    
    app = Flask(__name__)
    
    #基于你的环境配置实例的config
    #数据库路径
    
    app.config['SQLALCHEMY_DATABASE_URI'] = r'sqlite:D:\12套测试识别\整体测试\75号后勤楼\识别结果\plot\t3.db' 
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    
    #实例连接数据库
    
    db = SQLAlchemy(app)
  3. from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = r'sqlite:///D:/12套测试识别/整体测试/75号后勤楼/识别结果/plot/t1.db'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    db = SQLAlchemy(app)
    
    #db.Model:所有模型类需要继承自 db.Model。
    #db.Column:定义模型的字段,指定字段的类型、是否为主键、是否唯一、是否可以为空等属性。
    
    class Gj(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        gjmc = db.Column(db.String(80), unique=True, nullable=False)
        gjsl = db.Column(db.Integer, unique=True, nullable=False)
    
        def __repr__(self):
            return f'<Gj {self.gjmc}>'
    
    # 测试路由
    @app.route('/')
    def index():
        return 'Hello World! Application is running.'
    
    if __name__ == '__main__':
        with app.app_context():  # 创建应用上下文
            db.create_all()      # 手动创建所有表
        app.run(debug=True)
  4. from urllib import request
    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = r'sqlite:///D:/12套测试识别/整体测试/75号后勤楼/识别结果/plot/t1.db'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    db = SQLAlchemy(app)
    
    #db.Model:所有模型类需要继承自 db.Model。
    #db.Column:定义模型的字段,指定字段的类型、是否为主键、是否唯一、是否可以为空等属性。
    
    class Gj(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        gjmc = db.Column(db.String(80), unique=True, nullable=False)
        gjsl = db.Column(db.Integer, unique=True, nullable=False)
    
        def __repr__(self):
            return f'<Gj {self.gjmc}>'
    
    # 测试路由
    @app.route('/')
    def index():
        return 'Hello World! Application is running.'
    
    @app.route('/add_gj')
    def add_gj():
        new_gj = Gj(gjmc="金红炎",gjsl="1")
        db.session.add(new_gj)
        db.session.commit()
        return '已成功添加构件!'
    
    @app.route('/get_gj')
    def get_users():
        gjs = Gj.query.all()  # 获取所有数据
        return '<br>'.join([f'{gj.gjmc} ({gj.gjsl})' for gj in gjs])
    
    @app.route('/update_gj/<string:gjmc>')
    def update_user(gjmc):
        gj = Gj.query.filter_by(gjmc=gjmc).first()  # 查询符合条件的数据并返回第一条
        if gj:
            gj.gjsl = '188'
            db.session.commit()
            return 'gj updated!'
        return 'gj not found!'
    
    @app.route('/delete_gj/<string:gjmc>')
    def delete_user(gjmc):
        gj = Gj.query.filter_by(gjmc=gjmc).first()
        if gj:
            db.session.delete(gj)
            db.session.commit()
            return 'Gj deleted!'
        return 'Gj not found!'
    
    #gj = Gj.query.filter_by(gjmc='金红炎').all()
    
    #gj = Gj.query.filter(or_(Gj.gjmc == '金红炎', Gj.Gjsl == '188')).all()
    
    #gj = Gj.query.order_by(Gj.gjsl).paginate(page=1, per_page=10)
    
    
    if __name__ == '__main__':
        with app.app_context():  # 创建应用上下文
            db.create_all()      # 手动创建所有表
        app.run(debug=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值