Python 获得';无';flask加载登录页时的字符串

Python 获得';无';flask加载登录页时的字符串,python,login,flask-sqlalchemy,Python,Login,Flask Sqlalchemy,我正在尝试使用flask编写应用程序。我已经编写了view.py文件,其中包含以下代码 @lm.user_loader def load_user(id): return Users.query.get(int(id)) 我的问题是,当我点击localhost:5000/时,我总是将id值设置为“无”。这是正确的行为 所以我的问题是我应该如何处理它?因为第一次id没有来自db的值,所以我的代码将始终显示错误 ValueError:以10为基数的int()的文本无效:“无”已将其修改为

我正在尝试使用flask编写应用程序。我已经编写了view.py文件,其中包含以下代码

@lm.user_loader
def load_user(id):

    return Users.query.get(int(id))
我的问题是,当我点击localhost:5000/时,我总是将id值设置为“无”。这是正确的行为

所以我的问题是我应该如何处理它?因为第一次id没有来自db的值,所以我的代码将始终显示错误


ValueError:以10为基数的int()的文本无效:“无”

已将其修改为此格式

@lm.user_loader
def load_user(id):

   if id is None or id == 'None': 
       id =-1
   print 'ID: %s, leaving load_user' % (id)
   return Users.query.get(int(id))

现在可以呈现登录页面

什么是
lm.user\u loader
?在_init.py中,我从flask.ext.login导入LoginManager lm=LoginManager()可以设置默认值,这是“来宾”或“匿名用户”的值,
def User\u load(id=-1)
。它不是这样工作的。我已经试过了。如果我更改这个函数def load_user(id):id=-1 return Users.query.get(int(id))它可以工作,但id将始终是-1。不知道我能在别的地方把它放在哪里。