flask-sqlalchemy集成到flask中
1 下载模块
| pip install flask-sqlalchemy --upgrade |
2 __init__文件中导入模块
| from flask import Flask |
| from flask_sqlalchemy import SQLAlchemy |
| |
| app = Flask(__name__, template_folder='../templates', static_folder='../static') |
| |
| app.config.from_pyfile('./settings.py') |
| |
| |
| from .views.user import bp_user |
| app.register_blueprint(bp_user) |
| ------- |
| |
| db = SQLAlchemy() |
| |
| |
| db.init_app(app) |
| ------- |
| |
| db = SQLAlchemy(app) |
3 视图函数中使用session查询表数据
| from flask import Blueprint, render_template, jsonify |
| from src.models import User |
| |
| bp_user = Blueprint('user', __name__) |
| from src import db |
| |
| @bp_user.route('/') |
| def index(): |
| |
| res = db.session.query(User).filter(User.id >= 1).all() |
| |
| |
| l = [] |
| for item in res: |
| l.append({'name': item.name, 'email': item.email}) |
| return jsonify({'code': 100, 'msg': "成功", 'results': l}) |
4 models.py 中继承 db.Model
| import datetime |
| from . import db |
| |
| class User(db.Model): |
| __tablename__ = 'users' |
| |
| id = db.Column(db.Integer, primary_key=True, autoincrement=True) |
| name = db.Column(db.String(32), index=True, nullable=False) |
| email = db.Column(db.String(32), unique=True) |
| |
| ctime = db.Column(db.DateTime, default=datetime.datetime.now) |
| extra = db.Column(db.Text) |
| |
| def __str__(self): |
| return self.name |
| |
| def __repr__(self): |
| return self.name |
5 配置文件中加入
| SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:root@127.0.0.1:3306/sqlalchemy03?charset=utf8" |
| SQLALCHEMY_POOL_SIZE = 5 |
| SQLALCHEMY_POOL_TIMEOUT = 30 |
| SQLALCHEMY_POOL_RECYCLE = -1 |
| |
| SQLALCHEMY_TRACK_MODIFICATIONS = False |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现