密码提交报错

来源:7-1 .管理员登录

欲影

2017-09-06

点击提交后网页报错InvalidRequestError: When initializing mapper Mapper|Admin|admin, expression 'Adminlog' failed to locate a name ("name 'Adminlog' is not defined"). If this is a class name, consider adding this relationship() to the <class 'app.models.Admin'> class after both dependent classes have been defined.http://szimg.mukewang.com/59afb2f70001ab7616980814.jpg

写回答

1回答

rustgopy

2017-09-06

同学,检查下你的models.py文件中Adminlog与Admin的配置情况,具体代码如下:

# 管理员
class Admin(db.Model):
    __tablename__ = "admin"
    id = db.Column(db.Integer, primary_key=True)  # 编号
    name = db.Column(db.String(100), unique=True)  # 管理员账号
    pwd = db.Column(db.String(100))  # 管理员密码
    is_super = db.Column(db.SmallInteger)  # 是否为超级管理员,0为超级管理员
    role_id = db.Column(db.Integer, db.ForeignKey('role.id'))  # 所属角色
    addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 添加时间
    adminlogs = db.relationship("Adminlog", backref='admin')  # 管理员登录日志外键关系关联
    oplogs = db.relationship("Oplog", backref='admin')  # 管理员操作日志外键关系关联
    def __repr__(self):
        return "<Admin %r>" % self.name
    def check_pwd(self, pwd):
        from werkzeug.security import check_password_hash
        return check_password_hash(self.pwd, pwd)


# 管理员登录日志
class Adminlog(db.Model):
    __tablename__ = "adminlog"
    id = db.Column(db.Integer, primary_key=True)  # 编号
    admin_id = db.Column(db.Integer, db.ForeignKey('admin.id'))  # 所属管理员
    ip = db.Column(db.String(100))  # 登录IP
    addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 登录时间
    def __repr__(self):
        return "<Adminlog %r>" % self.id


0
0

Python Flask 构建微电影视频网站

Python 最好用轻量级框架,让你轻松胜任 Python Web 工程师

683 学习 · 663 问题

查看课程