Flask 登录在 Python Anywhere 上无法正常工作

Flask Login is not working properly on Python Anywhere

今天早上,我尝试从我的网站(部署在 python 任何地方)登录我的帐户。我输入了凭据,然后出现服务器错误。

错误:

Traceback (most recent call last):
  File "/home/Vomindo/.virtualenvs/my-virtualenv/lib/python3.6/site-packages/flask/app.py", line 2073, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/Vomindo/.virtualenvs/my-virtualenv/lib/python3.6/site-packages/flask/app.py", line 1518, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/Vomindo/.virtualenvs/my-virtualenv/lib/python3.6/site-packages/flask/app.py", line 1516, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/Vomindo/.virtualenvs/my-virtualenv/lib/python3.6/site-packages/flask/app.py", line 1502, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/home/Vomindo/mysite/main.py", line 463, in logmein
    spass = check_password_hash(user.password, password)
AttributeError: 'NoneType' object has no attribute 'password'

之后,我尝试从我的主设备登录。它工作得很好。我检查了我是否输入了相同的凭据,我输入了。

视图函数:

@application.route('/logmein', methods=['POST'])
def logmein():

    password = request.form['password']
    email = request.form['email']

    user = User.query.filter_by(email=email).first()
    spass = check_password_hash(user.password, password)

    if not user:
        return '<h1>We could not find the account!<a href="/login">try again</a></h1>'
    else:
        if spass == True:

           login_user(user, remember=True)
           return redirect('/')
        else:
           return '<body style="background: yellow"><h1>The password is incorrect! <a href="/login"> go back</a></h1></body>'

感谢帮助!!!

当您 post 通过打印表单数据时,您应该可以看到发送的内容。

@application.route('/logmein', methods=['POST'])
def logmein():
    print(request.form)

    # print each method so you can look around
    print(dir(request.form))
    return 'test'

AttributeError: 'NoneType' object has no attribute 'password' < 让我相信问题是您引用的密码不存在。