一、Django REST Framework 简介
1.1 安装配置
pip install djangorestframework
pip install django-filter # 过滤器支持
pip install markdown # Markdown 支持
2026/3/20大约 11 分钟
pip install djangorestframework
pip install django-filter # 过滤器支持
pip install markdown # Markdown 支持
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于基于 Python 3.7+ 构建 API,基于标准的 Python 类型提示。它由 Sebastián Ramírez 于 2018 年创建,迅速成为 Python 生态中最受欢迎的 Web 框架之一。
极致性能:FastAPI 基于 Starlette(用于 Web 部分)和 Pydantic(用于数据部分),是最快的 Python 框架之一,性能可与 NodeJS 和 Go 相媲美。
开发效率:
类型安全:
标准兼容:
在大型项目中,将所有路由定义在一个文件中会导致代码难以维护。FastAPI 提供了 APIRouter 来实现路由模块化。
# app/api/v1/endpoints/users.py
from fastapi import APIRouter, HTTPException, status
from typing import List
from pydantic import BaseModel
router = APIRouter(
prefix="/users", # 路由前缀
tags=["users"], # 文档标签
responses={404: {"description": "用户不存在"}} # 通用响应
)
class User(BaseModel):
id: int
username: str
email: str
# 模拟数据库
fake_users_db = {}
@router.get("/", response_model=List[User])
async def list_users():
"""获取所有用户列表"""
return list(fake_users_db.values())
@router.get("/{user_id}", response_model=User)
async def get_user(user_id: int):
"""根据 ID 获取用户"""
if user_id not in fake_users_db:
raise HTTPException(status_code=404, detail="用户不存在")
return fake_users_db[user_id]
@router.post("/", response_model=User, status_code=status.HTTP_201_CREATED)
async def create_user(user: User):
"""创建新用户"""
if user.id in fake_users_db:
raise HTTPException(status_code=400, detail="用户已存在")
fake_users_db[user.id] = user
return user
@router.delete("/{user_id}", status_code=status.HTTP_204_NO_CONTENT)
async def delete_user(user_id: int):
"""删除用户"""
if user_id not in fake_users_db:
raise HTTPException(status_code=404, detail="用户不存在")
del fake_users_db[user_id]
REST(Representational State Transfer)是一种软件架构风格,核心原则包括:
HsxWorkFlow 采用装饰器驱动的声明式编程范式,通过装饰器简洁地定义工作流和步骤。本文档详细介绍所有装饰器的使用方法。
HsxWorkFlow 提供了以下装饰器: