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'
< 让我相信问题是您引用的密码不存在。
今天早上,我尝试从我的网站(部署在 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'
< 让我相信问题是您引用的密码不存在。