请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

2回答

rustgopy 2017-08-13 23:04:52

核对密码可以在定义表单的时候定义,代码如下:

class LoginForm(FlaskForm):
    """管理员登录表单"""
    account = StringField(
        label="账号",
        validators=[
            DataRequired("请输入账号!")
        ],
        description="账号",
        render_kw={
            "class": "form-control",
            "placeholder": "请输入账号!",
            # "required": "required"
        }
    )
    pwd = PasswordField(
        label="密码",
        validators=[
            DataRequired("请输入密码!")
        ],
        description="密码",
        render_kw={
            "class": "form-control",
            "placeholder": "请输入密码!",
            # "required": "required"
        }
    )
    submit = SubmitField(
        '登录',
        render_kw={
            "class": "btn btn-primary btn-block btn-flat",
        }
    )

    def validate_account(self, field):
        account = field.data
        admin = Admin.query.filter_by(name=account).count()
        if admin == 0:
            raise ValidationError("账号不存在!")

    def validate_pwd(self, field):
        from app.models import Admin
        pwd = field.data
        name = self.account.data
        admin = Admin.query.filter_by(name=name).first()
        if not admin.check_pwd(pwd):
            raise ValidationError("密码错误!")


0 回复 有任何疑惑可以回复我~
  • 提问者 鼠尾草17 #1
    这是是后台还是前台的密码验证?怎么感觉不对?我问的是前台的会员登录呀
    回复 有任何疑惑可以回复我~ 2017-08-14 16:14:06
  • 提问者 鼠尾草17 #2
    不知道老师能不能帮我远程看一下呢?实在是找不出错误
    回复 有任何疑惑可以回复我~ 2017-08-14 17:34:07
  • rustgopy 回复 提问者 鼠尾草17 #3
    还有注册用户的时候,看看密码有没有传进去,多检查下
    回复 有任何疑惑可以回复我~ 2017-08-14 17:49:35
提问者 鼠尾草17 2017-08-13 21:54:11

将帐号密码打印出来,加密后的密码和数据库里也是一致的,问题就出在核对密码的地方,但是不知道怎么解决

https://img1.sycdn.imooc.com/szimg//599059fd0001d72609640615.jpg

https://img1.sycdn.imooc.com/szimg//599059fd00010ebe12680602.jpg


0 回复 有任何疑惑可以回复我~
  • 同学,你好,你打印一下看form传过来没有
    回复 有任何疑惑可以回复我~ 2017-08-14 17:42:40
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信