Flask-Login 是一个用于管理用户会话的 Flask 模块。它非常便捷,因为它负责处理所有的会话、cookie、记住我等等。它并不强制使用特定的认证方法,而是提供了一个管理认证用户和匿名用户的系统。
以下是一些基本功能和如何使用它们的概述:
1. **初始化**
要开始使用 `Flask-Login`,你需要初始化它。这是如何做到的:
```python
from flask import Flask
from flask_login import LoginManager
app = Flask(__name__)
login_manager = LoginManager()
login_manager.init_app(app)
```
2. **用户模型**
Flask-Login 需要一个用户模型来管理认证的会话。该模型应实现几个方法和属性:
```python
class User(UserMixin):
# 定义用户模型,这只是一个示例,你可能需要在模型中添加其他属性
def __init__(self, id):
self.id = id
def is_authenticated(self):
# 这里简单地返回 True,实际应用中,你可能需要检查用户的登录状态
return True
```
3. **加载用户**
Flask-Login 需要知道如何加载用户。为此,你需要定义一个 `load_user` 回调。此函数应该接收一个用户 ID(unicode),并返回相应的用户对象。
```python
@login_manager.user_loader
def load_user(user_id):
# 这里只是一个示例,你需要根据用户ID从数据库或其他地方获取用户对象
return User(user_id)
```
4. **登录和登出**
Flask-Login 并不直接处理用户登录。这是你的视图的责任。一旦用户登录,你可以调用 `login_user` 来纪录用户的登录状态。
```python
from flask_login import login_user
# 用户验证通过,使用 login_user 记录用户登录状态
login_user(user)
# 用户退出登录
from flask_login import logout_user
logout_user()
```
- 前言
- 1.入门篇
- Python介绍
- 安装与使用
- Python开发利器之VS Code
- 模块安装
- 命令行
- 一次Python无法安装模块的问题探索与解决之旅
- 命令运行
- Conda
- 下载地址
- 2.基础篇
- 基础语法
- 输入与输出
- with as的用法
- 注释
- Python命令行参数
- 编码
- 变量类型
- 列表遍历
- 运算符
- 表达式语句
- 条件
- 循环
- 日期和时间
- 函数
- 高级语法
- @符号-装饰器
- 模块和包
- name
- init.py
- 错误和异常
- 面向对象
- 3.专题篇
- 常用功能
- Python 字符串连接
- python web
- Python CGI编程
- Python OAuth2
- 认证 Flask-HTTPAuth
- 常用命令
- 内置函数
- dir()
- print(f)
- 标准模块
- sys
- pickle-数据序列化
- os
- IO(输入输出)
- 键盘输入
- 文件读写
- 测试
- Python测试框架之pytest快速入门
- pytest-bdd快速示例和问题解决
- 基于pytest-bdd的项目目录结构和命名规范
- python BDD 的相关概念
- Behave介绍和快速示例
- Python BDD之Behave测试报告
- Python BDD 框架比较之 pytest-bdd vs behave
- pytest进阶
- Flask + pytest测试
- 参考网址
- pytest-bdd进阶
- hehave进阶
- 测试路径
- python + selunium
- HTML 根据多层CSS 查找元素
- 等待执行
- 使用text 查找 span
- pytest如何在控制台输出
- 4.问题篇
- pip pip3 及区别
- TypeError: can only concatenate str (not "NoneType") to str
- 5.实战篇
- matplotlib-绘图包
- 导入类
- 命名规范
- 模块查找
- 6.进阶篇
- Flask
- Flask介绍
- Flask扩展模块
- Flask-Login
- 问题
- Jinja2
- Flask-RESTful
- Flask-JWT-Extended
- WSGI
- Flask-SQLAlchemy
- 部署
- Flask VS Django
- Flask Web
- Flask + Vue
- Flask实战
- Flask 标准目录结构
- Blueprints
- 参考
- FastAPI 测试
- https 证书 Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate