class Token(db.Model): id = db.Column(db.Integer, primary_key=True) token = db.Column(db.String(256), index=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) user = db.relationship('User', backref='token') def __init__(self, token, user): self.token = token self.user = user def __repr__(self): return '<token %s>' % self.user
class Commentboard(db.Model): id = db.Column(db.Integer, primary_key=True) pageurl = db.Column(db.String(64), index=True, unique=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) user = db.relationship('User', backref='commentboard') def __init__(self, url, user): self.pageurl = url self.user = user def __repr__(self): return '<page %s>' % self.pageurl
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String(64), index=True) board_id = db.Column(db.Integer, db.ForeignKey('commentboard.id')) commentboard = db.relationship('Commentboard', backref='comment') user_id = db.Column(db.Integer, db.ForeignKey('user.id')) user = db.relationship('User', backref='comment') def __init__(self, text, board, user): self.text = text self.commentboard = board self.user = user def __repr__(self): return '<comment to %s>' % self.commentboard
class User(db.Model): id = db.Column(db.Integer, primary_key=True) usermail = db.Column(db.String(64), index=True, unique=True) nickname = db.Column(db.String(64), index=True, unique=True) password = db.Column(db.String(64), index=True) isactive = db.Column(db.Boolean) def __init__(self, usermail, nickname, password): self.usermail = usermail self.nickname = nickname self.password = password self.isactive = False def __repr__(self): return '<User %s>' % self.usermail
class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20)) userpass = db.Column(db.String(100)) timestamp = db.Column(db.DateTime, default=datetime.utcnow, index=True) def check_login(self, user_name, user_pass): ret = self.query.filter_by(username=user_name).first() if ret: # 生成密码 pwd = ret.userpass # 对比密码 result = check_password_hash(pwd, user_pass) if result: retjson = {'code': 0, 'msg': '登录成功!', 'data': ret.to_dict()} else: retjson = {'code': -1, 'msg': '密码不正确!', 'data': []} else: retjson = {'code': -1, 'msg': '账号不存在!', 'data': []} return retjson def to_dict(self): # 数据查询对象转字典 return {c.name: getattr(self, c.name) for c in self.__table__.columns} def reg_user(self, user_name, user_pass): ret = self.query.filter_by(username=user_name).first() if ret: retjson = {'code': -1, 'msg': '账号已被注册!', 'data': []} else: # 生成密码 pwd = generate_password_hash(user_pass) user = User(username=user_name, userpass=pwd) db.session.add(user) db.session.commit() # print(user) if user: retjson = {'code': 0, 'msg': '登录成功!', 'data': ret} else: retjson = {'code': -1, 'msg': '密码不正确!', 'data': []} return retjson
class Message(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(20)) body = db.Column(db.String(200)) timestamp = db.Column(db.DateTime, default=datetime.utcnow, index=True)