Flask-Login的使用
2017-08-21 23:00
323 查看
Flask-Login插件中带了6种信号,可以基于其中的信号做一些额外工作,比如user_logged_in来记录用户的登录次数和登录IP等。
is_authenticated:是否被验证
is_active:是否被激活
is_anonymous:是否匿名用户
get_id():获得用户的Id,并转换Unicode类型
可以在创建模型的时候继承UserMixin:
当调用login方法时,登录用户就会触发user_logged_in信号,开发者可以在此做一些自定义操作,如增加登录次数:
使用user_loader装饰器的回调函数非常重要,它将决定user对象是否在登录状态:
获取用户的信息,必须先登录才可以获取信息。
安装
pip install flask-login
初始化
import flask import Flask from flask_login import LoginManager app = Flask(__name__) login_manager = LoginManager() login_manager.init_app(app)
UserMixin
flask-login提供了UserMixin,有一些用户相关的属性。is_authenticated:是否被验证
is_active:是否被激活
is_anonymous:是否匿名用户
get_id():获得用户的Id,并转换Unicode类型
可以在创建模型的时候继承UserMixin:
from flask_login import UserMixin,login_user from sqlalchemy import create_engine,Column,String,Integer from sqlalchemy.ext.declaractive import declaractive_base engine = create_engine("mysql+pymysql://root:123456@localhost/pythondb?charset=utf8") Base = declaractive_base() class User(Base,UserMixin): __tablename__ = "user" id = Column(Integer,primary_key=True) name = Column(String(16)) password = Column(String(16)) def login(self): login_user(self)
当调用login方法时,登录用户就会触发user_logged_in信号,开发者可以在此做一些自定义操作,如增加登录次数:
from flask_login import user_logged_in @user_logged_in.connect_via(app) def _logged_in(sender,user,**extra): ...
使用user_loader装饰器的回调函数非常重要,它将决定user对象是否在登录状态:
# login_manager为上面初始化的login_manager @login_manager.user_loader def user_loader(id): return session.query(User).filter_by(id=id).first()
login_required
在开发过程中,常常会遇到这样的需求,某个接口必须要登录情况下才可以获取信息,login_required正好可以满足这一需求from flask_login import login_required @app.route("/user_info") @login_required def user_info(): ...
获取用户的信息,必须先登录才可以获取信息。
相关文章推荐
- 使用Flask-Login实现token验证和超时失效使用体会
- Flask-Login 使用和进阶
- Flask-Login的使用
- Flask-Login 使用和进阶
- Flask Web开发入门(二)之Flask-Login使用
- flask-login的使用3
- flask-login使用笔记
- 用 Flask 来写个轻博客 (24) — 使用 Flask-Login 来保护应用安全
- Flask-Login使用教程
- 用户认证(二)【使用Flask-Login认证用户】
- [Python][flask][flask-login]关于flask-login中各种API使用实例
- 使用flask开发RESTful架构的api服务器端(1)–什么是RESTful和为什么选择flask http://python.jobbole.com/85004/
- Ubuntu下使用Python+flask+MySQL的架构搭建Web框架
- 在flask中使用验证码
- Flask中render_template的使用和模板的继承
- 使用Python Flask-mail发送邮件
- flask如何通过不使用debug=True,通过使用config开启调试模式
- Flask中render_template的使用和模板的继承
- asp.net web 开发登录相关操作的控件LoginName、LoginStatus和LoginView控件使用详解
- 使用JSON和Flask后台交换数据