基本上我正在尝试使用flask-login
定义用户加载器,并且我必须通过我的用户的数据库ID。我遇到了某种无效的文字错误。
我试过转换这个'字节?'从整数到字符串和所有种类,我尝试用几种方法解码它,如UTF-8
,但仍然没有运气。
@login_manager.user_loader
def load_user(id):
return accounts.query.get(int(str(id)))
这是控制台抛出的错误。
Traceback (most recent call last):
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask\app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask\app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask\app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask_login\utils.py", line 259, in decorated_view
elif not current_user.is_authenticated:
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\werkzeug\local.py", line 348, in __getattr__
return getattr(self._get_current_object(), name)
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\werkzeug\local.py", line 307, in _get_current_object
return self.__local()
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask_login\utils.py", line 26, in <lambda>
current_user = LocalProxy(lambda: _get_user())
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask_login\utils.py", line 335, in _get_user
current_app.login_manager._load_user()
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask_login\login_manager.py", line 359, in _load_user
return self.reload_user()
File "d:\Programming\Python (Flask)\MRP UCP\env\lib\site-packages\flask_login\login_manager.py", line 321, in reload_user
user = self.user_callback(user_id)
File "D:\Programming\Python (Flask)\MRP UCP\app.py", line 25, in load_user
return accounts.query.get(int(str(id)))
ValueError: invalid literal for int() with base 10: "b'5'"
127.0.0.1 - - [31/Mar/2019 09:12:10] "GET /home HTTP/1.1" 500 -
我是最新版的qazxsw poi,qazxsw poi,qazxsw poi。我也在我的脚本中使用sqlalchemy
和其他一些东西,例如flask-sqlalchemy
用于密钥和一些时间跟踪事物。
帮助将不胜感激:)
您将字节flask-login
转换为字符串bcrypt
,因此您的字符串包含字母b和单引号。 urandom
不理解这种凌乱的字符串,你应该做的只是删除b'5'
函数:
"b'5'"