TypeError: a bytes-like object is required, not 'NoneType'

@blue.route('/login/',methods = ['GET','POST'])
def my_login():
    if request.method == 'GET':
        return render_template('login.html')

    if request.method == 'POST':
        # 获取提交的参数
        username = request.form.get('username')
        password =request.form.get('passwod')

        # 在数据库中检验用户名是否存在,并把user对象取出来
        user = User.query.filter(User.name == username).first()
        if user:
            if check_password_hash(user.password,password):
                login_user(user)
                return redirect(url_for('first.my_index'))

TypeError: a bytes-like object is required, not 'NoneType'_第1张图片
登录后,提示:
TypeError: a bytes-like object is required, not ‘NoneType’
解决方案:
看完这个错误,第一反应是不是程序哪个字段或传参时的类型写错了,结果恰恰不是,而是获取提交参数时,字段名与页面定义的字段名不匹配造成的(所以建议大家这些定义的字段名尽量粘贴过来,不然当你少打一个字母,你再看着错误提示,就会让你一脸懵逼)。如下图:

TypeError: a bytes-like object is required, not 'NoneType'_第2张图片

你可能感兴趣的:(python)