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

Flask-Login中@login_manager.user_loader是做什么的?

@login_manager.user_loaderdef load_user(userid):    return User.get(userid)


慕姐8265434
浏览 181回答 2
2回答

HUWWW

login_user的时候会设置session["user_id"]用户发起一次http请求的时候ctx.user无值的时候通过某个callback当前登录用户, 这个callback参数的user_id就是session['user_id']login_manager.user_loader就是注册这个callback文档写得清清楚楚啊......

守着一只汪

对于函数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。
打开App,查看更多内容
随时随地看视频慕课网APP