环境
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
结果就可以出来了...