Я пытаюсь создать систему входа в систему, и я успешно создал страницу регистрации пользователей, но когда я пытаюсь войти в систему, я получаю сообщение об ошибке ниже. Я использую колбу, python3.6 и pymongo.
Это ошибка: AttributeError: 'bytes' object has no attribute 'encode'
пожалуйста помоги.
Traceback (most recent call last): File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 2309, in call return self.wsgi_app(environ, start_response) File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 2295, in wsgi_app response = self.handle_exception(e) File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 1741, in handle_exception reraise(exc_type, exc_value, tb) File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask_compat.py", line 35, in reraise raise value File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 2292, in wsgi_app response = self.full_dispatch_request() File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request rv = self.handle_user_exception(e) File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 1718, in handle_user_exception reraise(exc_type, exc_value, tb) File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask_compat.py", line 35, in reraise raise value File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request rv = self.dispatch_request() File "C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 1799, in dispatch_request return self.view_functionsrule.endpoint File "C:\Users\elvis\Desktop\flask apps\testmon\even\app\run.py", line 30, in 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'
Пожалуйста, покажите нам соответствующий код (см. Также stackoverflow.com/help/on-topic, раздел «Вопросы, требующие помощи при отладке»). С уважением
Отвечает ли это на ваш вопрос? HG-Git: AttributeError: объект 'bytes' не имеет атрибута 'encode'



Только отдать Password = " "
Пример:
pdf = pdfplumber.open(f,password='')
Последняя строка трассировки
login_user['password']) == login_user['password'].encode('utf-8'): AttributeError: 'bytes' object has no attribute 'encode'
Сообщает вам, что вы передаете объект типа bytes, а не str.
Итак, вы пытаетесь вызвать метод .encode() для объекта bytes.
Вам нужно проверить, что такое значение login_user['password'], и либо преобразовать его в строку, вызвав метод decode() для объекта byteslogin_user['password']).decode().encode('utf-8'), либо сохранить строковое значение в этом словаре в начале.
Из этой трассировки я вижу, что то, что вы делаете, не имеет особого смысла, но, если вы не можете поделиться кодом, я могу сказать не так много.
Обновлено:
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'
Вы также, вероятно, можете удалить .endoce('utf-8') из части login_user['password'], и это тоже может сработать.
См., Например, вопрос это SO.