Django REST framework 是基于 Django 构建 Web API 的工具包,提供可浏览 API、序列化、认证与权限控制,快速把 Django 项目变成 REST 服务。
- 3.18.3
- 发布于
- 22 天前
- 30,210
- 星标
- 278
- 下载
- 同步于
- 8 天前
最新版本
3.18.32026年10月7日 05:34下载慢?可在上方随时切换镜像源
项目说明
项目概述
Django REST framework(DRF)是一个强大而灵活的 Django Web API 开发工具包。它在 Django 之上提供序列化器、视图集、路由与认证体系,把模型数据快速暴露成 REST 接口。其标志性的可浏览 API 界面让开发者直接在浏览器里查看、调试接口,大幅提升开发与联调效率。
| 项目 | 内容 |
|---|---|
| 语言 | Python |
| 基础框架 | Django |
| 类型 | Web API 工具包 |
| 许可 | BSD |
把 Django 模型变成浏览器里可直接调试的 REST 接口。
主要功能
- 可浏览 API:自带 Web 界面,浏览器中直接查看与测试接口
- 序列化体系:支持 ORM 与非 ORM 数据源的验证、序列化与反序列化
- 认证机制:内置 Session、Token 等认证,可扩展 OAuth1a 与 OAuth2
- 权限控制:细粒度权限类,可按请求、按对象控制访问
- 通用视图:Generic views 与 ViewSet 快速实现增删改查
- 自动路由:Router 自动生成 RESTful URL 配置
- 限流节流:内置接口限流策略,保护后端资源
- 分页支持:多种分页方案开箱即用
适用人群
- Django 开发者
- 需要为移动端或前端提供 API 的后端团队
- 构建开放平台接口的开发者
- 企业内部系统集成工程师
- 学习 REST API 设计的学习者
快速上手
- 安装依赖:
pip install django djangorestframework - 创建项目并迁移数据库
django-admin startproject example .
python manage.py migrate
python manage.py createsuperuser- 在
settings.py中注册应用
INSTALLED_APPS = [
'rest_framework',
]- 定义序列化器与视图集,配置路由
from django.contrib.auth.models import User
from django.urls import include, path
from rest_framework import routers, serializers, viewsets
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ['url', 'username', 'email', 'is_staff']
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
urlpatterns = [
path('', include(router.urls)),
]- 启动服务:
python manage.py runserver,浏览器打开http://127.0.0.1:8000/
核心优势
- 开发体验佳:可浏览 API 让联调不再依赖前端页面
- 高度可定制:从序列化器到视图、权限都可逐层替换
- 生态成熟:文档详尽,社区方案覆盖绝大多数业务场景
- 与 Django 无缝衔接:复用 ORM、认证与配置体系
系统要求
| 项目 | 要求 |
|---|---|
| 语言 | Python 3.10+ |
| 框架 | Django 5.2 及以上 |
| 操作系统 | Linux、macOS、Windows |
注意事项
- 版本配套:官方仅支持各 Python 与 Django 系列的最新补丁版本,升级时注意匹配
- 查询性能:ViewSet 通用逻辑可能引入额外查询,注意用
select_related与prefetch_related优化
历史版本
排序