通过本课程的训练,掌握熟悉了Python+Flask+MysqL的web建设技术,为以后进行开发管理信息系统和维护管理信息系统打下了良好的基础。
主页母版设计:
用户中心设计:
发表问答设计:
用户信息(user)数据字典:
属性名
类型
长度
编号
id
varchar
30
姓名
username
50
密码
Password
昵称
Nickname
Varchar
Tel
15
发表问答信息(Question)数据字典:
标题
Title
细节
Detail
Creat—time
Datetime
用户id
Author_id
发表id
question_id
经过分析得出系统的总体概念模型(E-R)图:
根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的范式理论,到系统优化后的逻辑模型,如图表1-表6所示:
表1用户基本信息表
Id
表2发表问答信息表
发表内容
发表问答Id
通过对关系模式的优化,得到基本表如下:
(1)用户信息表
classUser(db.Model):__tablename__='user'id=db.Column(db.Integer,primary_key=True,autoincrement=True)username=db.Column(db.String(20),nullable=False)_password=db.Column(db.String(200),nullable=False)#内部使用nickname=db.Column(db.String(50))tel=db.Column(db.String(50))
(2)发表问答信息表
classQuestion(db.Model):__tablename__='question'id=db.Column(db.Integer,primary_key=True,autoincrement=True)title=db.Column(db.String(100),nullable=False)detail=db.Column(db.Text,nullable=False)creat_time=db.Column(db.DateTime,default=datetime.now)author_id=db.Column(db.Integer,db.ForeignKey('user.id'))author=db.relationship('User',backref=db.backref('question'))
classComment(db.Model):__tablename__='comment'id=db.Column(db.Integer,primary_key=True,autoincrement=True)author_id=db.Column(db.Integer,db.ForeignKey('user.id'))question_id=db.Column(db.Integer,db.ForeignKey('question.id'))detail=db.Column(db.Text,nullable=False)creat_time=db.Column(db.DateTime,default=datetime.now)question=db.relationship('Question',backref=db.backref('comments',order_by=creat_time.desc))author=db.relationship('User',backref=db.backref('comments'))