DRF前置及初识
WEB应用(开发)模式
API接口
postman的使用
Restful规范
'''
1.数据的安全保障,采用https
2.接口的特征表现,即使用api关键字标识接口url
3.多数据版本共存,在url链接中标识数据版本
4.数据即资源,使用名词
5.资源操作由请求方式确定
6.过滤,即通过URL传参的方式传递搜索条件
7.响应状态码
8.错误处理,对错误应返回错误信息
9.返回结果符合规范
10.响应的数据里面可以带链接
'''
drf安装和使用
class Book(models.Model):
from rest_framework.serializers import ModelSerializer
from app01.models import Book
class BookModelSerializer(ModelSerializer):
class Meta:
model = Book
fields = '__all__'
from rest_framework.viewsets import ModelViewSet
from .models import Book
from .ser import BookModelSerializer
class BooksViewSet(ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookModelSerializer
from app01 import views
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register('books',views.BooksViewSet)
urlpatterns += router.urls
CBV源码
path('',views.Book.as_view()),
self.dispatch()
View源码
'''
dispatch逻辑:
判断是否在常规请求类型中,如果在:
通过反射拿到自定义类视图函数中的具体方法的对应地址(默认not_allowed)给handler
如果不在,拿not_allowed内存地址给handler
return handler(request,*args,**kwargs)
即到此执行FBV
'''
APIView源码
from rest_framework.views import APIView
新request对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现