from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
from flask_script import Manager,Shell
app = Flask(__name__) # 实例化Flask对象
# 基本配置
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = (
'mysql+pymysql://root:root@localhost/flask_demo'
)
db = SQLAlchemy(app) # 实例化SQLAlchemy
manager = Manager(app) # 实例化Manager类
def make_shell_context():
'''回调函数'''
return dict(app=app,db=db,Student=Student,Class=Class)
manager.add_command("shell",Shell(make_context=make_shell_context)) # 添加Shell命令
# 学生和课程关系
student_identifier = db.Table('student_identifier',
db.Column('class_id', db.Integer, db.ForeignKey('classes.id')), # 关联外键
db.Column('user_id', db.Integer, db.ForeignKey('students.id')) # 关联外键
)
# 学生数据模型
class Student(db.Model):
__tablename__ = 'students' # 表名
id = db.Column(db.Integer, primary_key=True) # 学生ID
name = db.Column(db.String(64)) # 学生名称
email = db.Column(db.String(128), unique=True) # 学生邮箱
classes = db.relationship("Class",secondary=student_identifier) # 映射关系
# 课程数据模型
class Class(db.Model):
__tablename__ = 'classes' # 表名
id = db.Column(db.Integer, primary_key=True) # 班级ID
name = db.Column(db.String(128), unique=True) # 班级名称
students = db.relationship("Student",secondary=student_identifier) # 映射关系
if __name__ == "__main__":
manager.run() # 启动项目
douluo998
- 粉丝: 2138
- 资源: 5357
最新资源
- 汽车锁(世界锁)全自动检测设备机械设计结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- Docker & Docker-Compose资源获取下载.zip
- 基于HTML、Java、JavaScript、CSS的Flowermall线上花卉商城设计源码
- 基于SSM框架和微信小程序的订餐管理系统点餐功能源码
- 基于freeRTOS和STM32F103x的手机远程控制浴室温度系统设计源码
- 基于Java语言的经典设计模式源码解析与应用
- 桥墩冲刷实验水槽工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 基于物联网与可视化技术的ECIOT集成设计源码
- 基于Vue和微信小程序的JavaScript广告投放demo设计源码
- 基于layui框架的省市复选框组件设计源码
- 基于HTML、CSS、Python技术的学生先群网(asgnet.cn, efsdw.cn)设计源码
- 基于Vue、TypeScript、CSS、HTML的vite_project废弃Vue项目设计源码
- 基于微信小程序的童书租借系统设计源码
- 基于Python和JavaScript的车辆牌照识别系统设计源码
- 基于Spring Boot和Vue的校园健康管理系统设计源码
- 基于Python的滑动验证码设计源码下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈