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

flask:用Flask-SQLAlchemy访问mysql

一,安装第三方库

$ pip3 install Flask-SQLAlchemy

二,建立到数据库的连接

import os
from dotenv import load_dotenvfrom flask import Flask,jsonifyfrom flask_sqlalchemy import SQLAlchemy# 加载变量
dotenv_path = os.path.join(os.path.dirname(__file__), '.env')
load_dotenv(dotenv_path=dotenv_path, verbose=True, override=True)
db_uri = os.getenv("SQLALCHEMY_DATABASE_URI")
print("打印配置项:")
print(db_uri)app = Flask(__name__)# 数据库信息
host = '127.0.0.1'
port = '3306'
database = 'mybase'
username = 'root'
password = 'rootpassword'# 数据库类型+连接数据库的插件,这里使用的pymysql
DB_URI = f'mysql+pymysql://{username}:{password}@{host}:{port}/{database}'
# 配置数据库连接
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI
# 绑定Flask对象
db = SQLAlchemy()
db.init_app(app)from controller.admin import admin
from controller.user import userapp.register_blueprint(admin,url_prefix="/admin")
app.register_blueprint(user,url_prefix="/user")@app.errorhandler(404)
def page_not_found(error):data = {"status": "failed","code": 500,"msg": "错误的路径"}return jsonify(data), 404if __name__ == '__main__':app.run(debug=True)

三,查询数据

model类

from app import db# 设计数据库模型
class User(db.Model):# 指定表名称__tablename__ = 'user'id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(64), nullable=False)nickname = db.Column(db.String(256), nullable=False)age = db.Column(db.Integer, default=0)city = db.Column(db.String(256), nullable=False)

查询:

from flask import Blueprint,jsonify,render_template,requestfrom models.user import Useruser = Blueprint('user', __name__)@user.route("/list/")
def user_list():meta = {"title": "用户列表","code": 200,"msg": ""}# 得到数据库中的数据users = User.query.all()return render_template('user/list.html', meta=meta, users=users)

四,测试 效果 

image

 

http://icebutterfly214.com/news/24933/

相关文章:

  • unt
  • 2025年改善睡眠设备专业推荐排行榜:科技助力健康生活
  • 2025年陕西叛逆少年管教机构权威推荐榜单:叛逆孩子改变/叛逆孩子矫正/叛逆孩子教育源头机构精选
  • 2025年悬挑楼梯公司推荐榜:Top5厂家全面评测与选择攻略
  • 第一个图形界面程序 -- 简单示例
  • TENGJUN-3.5MM耳机插座(JA06-BPF032-A):反向沉板结构下的4极音频连接解决方案 - 教程
  • 高性能计算-CUDA-mma-PTX
  • 2025年口碑好的GEO(AI搜索优)服务商解析与推荐
  • 2025年冷风机价格实力厂家权威推荐榜单:移动冷风机/大功率冷风机/节能冷风机源头厂家精选
  • 将 Zabbix 的数据导入到 Grafana 中进行可视化
  • 2025年质量好的煤炭化验设备品牌厂家排行榜
  • 2025年专业的电缆温升试验机厂家最新用户好评榜
  • 2025年有实力鲍鱼饲料超微粉碎机品牌厂家排行榜
  • 2025年优秀的金属光纤槽道厂家选购指南与推荐
  • 2025年诚信的短视频运营高评价厂家推荐榜
  • 2025年靠谱的宿舍铁床款式高评价厂家推荐榜
  • 2025年诚信的迷你便携式烟灰缸厂家最新权威推荐排行榜
  • 2025年评价高的不锈钢门工程门厂家推荐及选择指南
  • 2025年优质的造型铝方通厂家最新实力排行
  • 2025年评价高的高速高压旋转接头行业内知名厂家排行榜
  • 2025年知名的涂料光触媒厂家推荐及采购参考
  • 2025年口碑好的异形风管加工厂家最新用户好评榜
  • 2025年知名的防火包裹卷材陶瓷纤维厂家最新权威实力榜
  • 噬菌体文库构建全流程详解:从基因获取到噬菌体富集
  • 2025 11 8
  • 2025 年 11 月氧气分析仪厂家推荐排行榜,在线式氧气,固定式氧气,便携式氧气,手持式氧气,工业氧气分析仪公司推荐
  • 2025 年 11 月定型机厂家推荐排行榜,拉幅定型机,门富士定型机,节能定型机,余热回收,废气回收,烟气回收,智能排风,双层定型机公司推荐
  • flask: 模板用include包含公共部分header\footer
  • 2025 年 11 月冷链运输厂家推荐排行榜,药品/临床样本/CAR-T/蛋白/诊断试剂/医药/生物/血液/细胞/芯片运输,冷藏车/冷藏箱/保温箱,干冰/液氮运输公司推荐
  • MCU_WatchDog:独立与窗口看门狗解析 - 详解