为了账号安全,请及时绑定邮箱和手机立即绑定

不明白为什么要加这一段,而且不知道在什么情况下要使用这段代码?

不明白为什么要加这一段,而且不知道在什么情况下要使用这段代码?

慕姐8265434 2023-04-25 13:09:45
Flask-Login中@login_manager.user_loader是做什么的?@login_manager.user_loaderdef load_user(userid):    return User.get(userid)
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

login_user的时候会设置session["user_id"]

用户发起一次http请求的时候ctx.user无值的时候通过某个callback当前登录用户, 这个callback参数的user_id就是session['user_id']

login_manager.user_loader就是注册这个callback

文档写得清清楚楚啊......


查看完整回答
反对 回复 2023-04-28
?
守着一只汪

TA贡献1872条经验 获得超3个赞

对于函数login_user(),当你调用他的时候会设置session['user_id'] = user_id;

对于装饰器@login_manager.user_loader,在user_loader(self, callback)中设置的是self.user_callback = callback,即注册了load_user()这个自定义的callback;

对于这个load_user()的使用,即self.callback的使用,参见方法reload_user(self, user=None),
他的作用就是即使你的user参数无值,也可以通过调用self.callback来得到这个user,并把这个user赋值给ctx.user。


查看完整回答
反对 回复 2023-04-28
  • 2 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信