smartyou钱包,鬼掀尸,快乐大本营游戏
pip install flask_login
import os from flask_login import loginmanager, current_user login_manager = loginmanager() login_manager.login_view = 'users.login' # 未登录作的跳转视图 login_manager.session_protection = 'strong' login_manager.login_message = u"bonvolu ensaluti por uzi tiun paĝon." # 设置快闪消息,用于提示用户 app = flask(__name__) app.secret_key = os.urandom(24) login_manager.init_app(app)
class userinfo(model): __tablename__ = "report_user" id = integer('id') user_id = bigint('user_id', primary_key=true) union_id = bigint('union_id') name = string('name') status = integer('status', default=1) last_login_time = string('last_login_time', default=datetime.now) last_update_by = bigint('last_update_by') create_time = datetime('create_time', default="datetime.now") @property def is_authenticated(self): return self.status == 1 @property def is_anonymous(self): return self.status == 2 @property def is_active(self): if self.status is none: self.rquery.select("status").where('chart_id=%s', [self.group_id]) return self.status != 0 def get_id(self): return self.user_id
@login_manager.user_loader def load_user(user_id): print("user_id =", user_id) msg = userinfo.load_by_user_id(user_id) if user: user = userinfo.to_model(msg) else: print("no found =", msg)
user = msg return user
这种情况下,使用 request_loader 回调,与 user_loader 回调原理一样,但是它不是接受user_id
@login_manager.request_loader def load_user_from_request_by_args(request): # 使用 api 参数,或者 post 携带的键值 union_id = request.args.get('union_id') if union_id: user = user.query.filter_by(union_id=union_id).first() return user
@login_manager.request_loader def load_user_from_request_by_headers(request): # 使用 请求头部 headers 携带的键值 field = request.headers.get('authorization') if field: union_id = field.replace('basic ', '', 1) try: union_id = base64.b64decode(union_id) except typeerror: pass user = user.query.filter_by(union_id=union_id).first() return user
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论