django-drf框架自带的路由以及最简化的视图
0910自我总结
django-drf框架自带的路由以及最简化的视图
路由
一.导入模块
from rest_framework.routers import SimpleRouter
二.初始化路由对象
复制router = SimpleRouter()
三.创建路由
复制router = SimpleRouter()
# 注册各种接口路由
router.register('cars', views.CarModelViewSet, base_name='car')
#car为链接的开头,views.CarModelViewSet为当路由为cars的时候的调用的函数
urlpatterns = []
urlpatterns.extend(router.urls)
其效果等同于
复制urlpatterns = [
url(r'^cars/$', views.CarModelViewSet.as_view()),
url(r'^cars/(?P<pk>.*)/$', views.CarModelViewSet.as_view()),
]
视图
一.导入模块
复制from rest_framework.viewsets import ModelViewSet
二.创建视图逻辑
ModelViewSet源码
复制class ModelViewSet(mixins.CreateModelMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
mixins.ListModelMixin,
GenericViewSet):
#所有他当中以及对于get等等的方法自动进行了封装
mixins是在generics再进行方法的分装成5个方法
RetrieveModelMixin:retrieve 单取
ListModelMixin:list 群取
CreateModelMixin:create 单增
UpdateModelMixin:update 单整体改
UpdateModelMixin: partial_update 单局部改
DestroyModelMixin:destroy 单删
复制class CarModelViewSet(ModelViewSet):
queryset = models.Car.objects.filter(is_delete=False)
serializer_class = serializers.CarModelSerializer
........
#queryset serializer_class 必须给与
...
def get(self):
他会调用retrieve或者list方法其他也类似
.....
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理