python flask 之数据库映射

环境

python3

需求

需要给数据库添加user表.

步骤

1, 在flask项目中创建models.py文件

# __author__ = "scc"
"""
模型类
"""
from exts import db


class User(db.Model):
    __tablename__ = "user"
    id = db.Column(db.INTEGER, primary_key=True, autoincrement=True)
    username = db.Column(db.String(30), nullable=False)
    pwd = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(50), nullable=False)

2,解决双循环引用的问题,创建exts.py文件

# __author__ = "scc"
"""
 为了解决双向的循环导入问题,模型类需要导入db,主文件需要导入App,所以产生了第三中间模块exts
"""
from flask_sqlalchemy import SQLAlchemy # 导入SQLAlchemy类生成对象db,方便于导入模型类中

db = SQLAlchemy()   # 生成SQLAlchemy的db对象
models需要db
主文件也需要db
from exts import db
app = Flask(__name__)
app.config.from_object(config)  # 配置文件的初始
db.init_app(app)  # 数据库操作的关联----------不能忘记啊...

3, 创建manage.py文件准备进行映射

# __author__ = "scc"
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from falsk_demo import app
from exts import db
from models import User

manage = Manager(app)
migrate = Migrate(app, db)
manage.add_command("db", MigrateCommand)

if __name__ == '__main__':
    manage.run()

4, 上方有flask_script和 flask_migrate 以及连接mysql数据库的驱动
所以在项目的虚拟环境中安装此三个扩展包

pip install flask_script
pip install flask_migrate
pip install pymysql----(mysql的驱动.python3)

5,安装完之后在项目的根目录下进行测试

python manage.py db init
python manage.py db migrate
python manage.py db upgrade

接下来运行程序.然后比如说注册...
OK
结果就可以出来了...


python flask 之数据库映射_第1张图片
数据映射.png

你可能感兴趣的:(python flask 之数据库映射)