Flask 属性错误:';字节';对象没有属性';编码';

Flask 属性错误:';字节';对象没有属性';编码';,flask,pymongo,python-3.6,bcrypt,flask-pymongo,Flask,Pymongo,Python 3.6,Bcrypt,Flask Pymongo,我试图建立一个用户登录系统,我已经成功地建立了用户注册页面,但当我尝试登录时,我得到下面的错误。我使用的是烧瓶、蟒蛇3.6和pymongo。 这是错误:AttributeError:“bytes”对象没有属性“encode” 请帮忙 回溯(最近一次呼叫最后一次): 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第2309行,在调用中 返回self.wsgi_应用程序(环境,启动

我试图建立一个用户登录系统,我已经成功地建立了用户注册页面,但当我尝试登录时,我得到下面的错误。我使用的是烧瓶、蟒蛇3.6和pymongo。 这是错误:
AttributeError:“bytes”对象没有属性“encode”
请帮忙

回溯(最近一次呼叫最后一次): 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第2309行,在调用中 返回self.wsgi_应用程序(环境,启动响应) 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第2295行,在wsgi\u应用程序中 response=self.handle\u异常(e) 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第1741行,位于句柄\u异常中 重放(exc_类型、exc_值、tb) 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\u compat.py”,第35行,在reraise中 增值 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第2292行,在wsgi\u应用程序中 response=self.full\u dispatch\u request() 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第1815行,完全发送请求 rv=自身处理用户异常(e) 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第1718行,在handle\u user\u异常中 重放(exc_类型、exc_值、tb) 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\u compat.py”,第35行,在reraise中 增值 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第1813行,完整发送请求 rv=自我分派请求() 文件“C:\Users\elvis\AppData\Local\Programs\Python\36\lib\site packages\flask\app.py”,第1799行,在调度请求中 返回self.view\u函数rule.endpoint 文件“C:\Users\elvis\Desktop\flask apps\testmon\偶\app\run.py”,第30行,登录 如果bcrypt.hashpw(request.form['pass'].encode('utf-8'),login_user['password'])==login_user['password'].encode('utf-8'): AttributeError:“字节”对象没有属性“encode”


()

只给出
密码=”

例如:

pdf = pdfplumber.open(f,password='')

追踪的最后一行

login_user['password']) == login_user['password'].encode('utf-8'): AttributeError: 'bytes' object has no attribute 'encode'
告诉您正在传递的对象类型为
bytes
,而不是
str

因此,您正在尝试调用
字节
对象上的
.encode()
方法。
您需要检查什么是
login\u user['password']
值,然后通过调用
bytes
object
login\u user['password'])上的
decode().encode('utf-8')
方法将其转换为字符串,或者在开始时在此字典中存储字符串值

从这个回溯中我可以看出,你所做的没有多大意义,但是除非你能分享代码,否则我就说不出更多了

编辑:


您也可以从
login\u user['password']
部分删除
.endoce('utf-8')
,它也可以工作。

例如,请参见SO问题。请向我们展示相关代码(另请参见“问题寻求调试帮助”部分)。这能回答你的问题吗?
login if bcrypt.hashpw(request.form['pass'].encode('utf-8'), login_user['password']) == login_user['password'].encode('utf-8'): AttributeError: 'bytes' object has no attribute 'encode'