1. 安装
pip install flask-sqlalchemy
2. 初始化配置
这是我的flask项目常用的目录结构,仅作参考
# @FILE: _config.py
app_config = {
'SQLALCHEMY_DATABASE_URI':"mysql+pymysql://{user}:{psw}@{host}/{db}".format(
user='lionlone',
psw='***',
host='***',
db='***'
),
'SQLALCHEMY_TRACK_MODIFICATIONS':False, # 可选
}
# @FILE: index.py
from flask import Flask
import _config as conf
import models
app = Flask(__name__)
# app配置(没错,数据库配置直接传入的是app.config)
app.config.update(conf.app_config)
# orm 初始化
models.db.init_app(app)
下面是一个用户表的例子
# @FILE: models.py
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
# 执行下面语句,则会创建所有表
# models.db.create_all(app=app)
# 一个类对应一张表
class User(db.Model):
# 下面是定义表内字段
index = db.Column('index', db.Integer, primary_key=True)
nick = db.Column(db.String(100), default="unknown")
email = db.Column(db.String(255), unique=True)
phone = db.Column(db.String(11), unique=True)
# 这里是赋值操作,一个User类实例化后,对应的就是一条记录
def __init__(self, index, nick, email, phone):
self.index = index
self.nick = nick
self.email = email
self.phone = phone
@classmethod
def do_something(cls):
# 执行一些事务
return
3. 注意事项
- 数据操作必须在视图函数内进行,否则会报错,也就是你别想不写视图函数,直接在控制台上打印出增删改查的结果。