FastAPI JWT 项目教程
1. 项目的目录结构及介绍
fastapi-jwt/
├── app/
│ ├── __init__.py
│ ├── main.py
│ ├── config.py
│ ├── models/
│ │ └── user.py
│ ├── routes/
│ │ └── auth.py
│ ├── services/
│ │ └── jwt_handler.py
├── tests/
│ ├── __init__.py
│ └── test_auth.py
├── .env
├── .gitignore
├── requirements.txt
└── README.md
目录结构介绍
app/
: 应用的主要代码目录。__init__.py
: 初始化文件。main.py
: 项目的启动文件。config.py
: 项目的配置文件。models/
: 数据模型目录。user.py
: 用户模型文件。
routes/
: 路由目录。auth.py
: 认证路由文件。
services/
: 服务目录。jwt_handler.py
: JWT 处理文件。
tests/
: 测试代码目录。__init__.py
: 初始化文件。test_auth.py
: 认证测试文件。
.env
: 环境变量文件。.gitignore
: Git 忽略文件。requirements.txt
: 项目依赖文件。README.md
: 项目说明文件。
2. 项目的启动文件介绍
main.py
from fastapi import FastAPI
from app.routes.auth import router as auth_router
app = FastAPI()
app.include_router(auth_router)
@app.get("/")
def read_root():
return {"message": "Welcome to FastAPI JWT Auth"}
启动文件介绍
FastAPI
实例化:创建一个 FastAPI 应用实例。- 路由包含:将认证路由包含到主应用中。
- 根路由:定义一个简单的根路由,返回欢迎消息。
3. 项目的配置文件介绍
config.py
from pydantic import BaseSettings
class Settings(BaseSettings):
SECRET_KEY: str
ALGORITHM: str
ACCESS_TOKEN_EXPIRE_MINUTES: int
settings = Settings()
配置文件介绍
BaseSettings
:使用 Pydantic 的BaseSettings
类来加载环境变量。SECRET_KEY
:JWT 密钥。ALGORITHM
:加密算法。ACCESS_TOKEN_EXPIRE_MINUTES
:访问令牌过期时间。
以上是 FastAPI JWT 项目的目录结构、启动文件和配置文件的介绍。希望这篇教程能帮助你更好地理解和使用该项目。