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
