首页
学习
活动
专区
圈层
工具
发布

Django Rest Framework

REST框架提供的通用视图允许快速构建API观点紧密地映射到数据库模型,如果通用视图不适合的需要API, 可以使用常规APIView类,或重用mixin和基类使用的通用视图来组成自己的组可重用通用视图。...通用视图可以设置一些类属性在通用视图内,也可以根据特殊要写重写它的内部视图方法 使用.as_views()来转换成视图函数 url(r’^/users/’, ListCreateAPIView.as_view...lookup_field: 模型的字段应该用于执行对象查找个别的模型实例 lookup_url_kwarg:URL应该用于对象查找关键字参数 分页属性: pagination_class: 用于返回一个分页列表视图的分页类...继承于:GenericAPIView,ListModelMixin,CreateModelMixin .RetrieveUpdateAPIView: 读和改一个模型实例,提供get,put,patch..., put, patch,delete处理器, 继承于:GenericAPIView,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixi 5、视图集合

2.9K60

DRF视图详解:从基础视图到通用视图实践指南

为了解决这个问题,DRF 提供了通用视图。二、通用视图 (Generic Views)DRF 的通用视图基于 "Mixin 组合" 思想,将常用功能封装成可复用的组件,通过继承组合实现复杂功能。...常用通用视图ListAPIView:获取列表数据(GET)CreateAPIView:创建数据(POST)RetrieveAPIView:获取单个数据(GET)UpdateAPIView:更新数据(PUT.../PATCH)DestroyAPIView:删除数据(DELETE)组合视图:ListCreateAPIView、RetrieveUpdateAPIView 等通用视图示例:学生信息管理步骤 1:定义模型...测试通用视图运行Django项目# 创建管理员账号python manage.py createsuperuser --username admin --email admin@example.com#...:新增打开浏览器登录访问:http://127.0.0.1:8000/api/books/1get:查询单个对象put:修改delete:删除三、通用视图的高级用法动态查询集通过重写 get_queryset

31210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    DjangoRESTframework(补充)

    Request 常用属性 1) .data –>类似 Django 中的 request.POST 包含了解析之后的文件和非文件数据 包含了对POST、PUT、PATCH请求方式解析后的数据...支持定义的属性: 列表视图与详情视图通用 queryset 列表视图的查询集 serializer_class 视图使用的序列化器 列表视图使用 pagination_class 分页控制类...,默认为 look_field相同 提供的方法: 列表视图与详情视图通用: get_queryset(self) 返回视图使用的查询集,是列表视图与详情视图获取数据的基础,默认返回queryset...和 patch 方法 继承自:GenericAPIView、UpdateModelMixin 6)RetrieveUpdateAPIView 提供 get、put、patch方法 继承自...: GenericAPIView、RetrieveModelMixin、UpdateModelMixin 7)RetrieveUpdateDestoryAPIView 提供 get、put、patch

    2.9K30

    Django-DRF | APIView 视图类

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。...一、DRF 框架所有视图类 最基础:django 自带的 views 类 DRF 框架最基础的视图类:views.APIView DRF 框架中工具视图:generics GenericAPIView...单增 UpdateModelMixin:update 单整体修改 UpdateModelMixin:partial_update 单局部修改 DestroyModelMixin:destroy 单删...viewsets 视图集 以上视图都是基于 django 自带的 views 进行相关方法的封装 二、APIView 实现 get post put delete等 继承django自带views的 View...,可以处理 request 和 response,可以捕获异常处理,处理响应信息,以及在进行第三 patch() 分发前,可以用户身份验证、权限验证、流量控制。

    1.4K20

    用django写接口(优化篇)

    作者:Kuky_xs 博客:https://www.jianshu.com/u/9fcd71535294 前言 系列文章: 《django入门:环境及项目搭建》 《django入门:数据模型》 《django...入门:视图及模版》 《django入门:Admin管理系统及表单》 《django入门:通用视图类重构视图》 在《用django写接口(入门篇)》提到这篇会讲 views 的代码优化,在这之前,我们先适当了解下...Request 继承 HttpRequest,里面有个 request.data 属性,可以处理任意数据,例如 'POST','PUT','PATCH',其用法类似表单中的 request.POST (...(data) 即可 了解完 Request 和 Response 我们将分别通过 @api_view,APIView 和通用视图类对 view 进行一些改造 api_view 注解重构 # ....import...省略 # 将该视图的请求方法写在注解中,表示该接口只接受列表内的请求方式 @api_view(['GET', 'POST']) def post_list(request): if request.method

    2.5K20

    Python Django 编程 | 连载 03 - Django 视图

    一、初识 Django 中的视图函数 应用中的 views.py 是 Django MTV 架构中的 V,主要负责处理用户请求和生成相应的响应内容返回到前端,然后在 HTML 或者其他类型文档中渲染、显示...JsonResponse 返回一个 json 类型,通常用于与前端通过 Ajax 进行交互。...Django 中的视图类 Django 中支持视图类写法,视图类要继承 View 类,并通过定义 get 方法和 post 方法来处理前端发来的 GET 请求和 POST 请求,而不用向视图函数那样要先通过...在 views.py 中定义一个实体类 Whiskey 类,继承 View 类,定义 get 函数处理 GET 请求 from django.views import View class Whiskey...(一项或多项) POST(CREATE):在服务器新建一个资源 PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据) PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据

    93720

    Django REST Framework-类视图(三)

    ModelViewSetModelViewSet是一个基于视图集的通用类,提供了处理CRUD操作的通用功能。...get_object(): 获取单个对象的方法。可以重写此方法来自定义获取对象的逻辑。get_serializer_class(): 获取序列化器的方法。可以重写此方法来自定义序列化器。...get_serializer(): 获取序列化器的实例。list(): 处理GET请求,用于获取列表数据。create(): 处理POST请求,用于创建新对象。...retrieve(): 处理GET请求,用于获取单个对象。update(): 处理PUT请求,用于更新整个对象。partial_update(): 处理PATCH请求,用于更新部分对象。...这个视图提供了list、create、retrieve、update、partial_update和destroy方法,可以用于处理CRUD操作。

    47540

    DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

    GET(SELECT):从服务器取出资源(一项或多项)。 POST(CREATE):在服务器新建一个资源。 PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。...PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性,更新部分资源的意思)。...它与302和307的含义一样,也是"暂时重定向",区别在于302和307用于GET请求,而303用于POST、PUT和DELETE请求。...201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。

    3.1K20

    第 4 篇:用类视图实现首页 API

    作者:HelloGitHub-追梦人物[1] 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库[2] django-rest-framework 类视图拓展自 django 的类视图...django-rest-framework 针对各种类型的资源操作,提供了对应的通用类视图,这些通用类视图主要包括: CreateAPIView 用于创建资源的 POST 请求。...ListAPIView 和 RetrieveAPIView 用于访问资源列表和单个资源的 GET 请求。 DestroyAPIView 用于删除资源的 DELETE 请求。...UpdateAPIView 用于更新资源的 PUT(全量更新)和 PATCH(部分更新)请求。...我们基本没有写任何逻辑代码,只是指定了类视图的几个属性值。因为逻辑基本都是通用的,通用类视图在背后帮我们做了全部工作,我们只要告诉它:用哪个序列化器去做,序列化哪个资源等就可以了。

    95910

    Django REST Framework-类视图(一)

    Django REST Framework提供了许多内置的视图来处理不同类型的请求。其中一种是类视图,类视图是一个基于类的视图,可以继承DRF的APIView类或其子类。...在这个例子中,我们定义了一个名为HelloView的类视图,并继承了DRF的APIView类。我们覆盖了其中的get方法,以便处理GET请求。...可以使用url路径将该视图映射到API中:from django.urls import pathfrom .views import HelloViewurlpatterns = [ path(...请求和响应类视图提供了多个方法来处理不同类型的HTTP请求。以下是常用的方法:get(self, request, *args, **kwargs): 处理GET请求。...put(self, request, *args, **kwargs): 处理PUT请求。patch(self, request, *args, **kwargs): 处理PATCH请求。

    47721

    【愚公系列】2022年04月 Python教学课程 69-DRF框架之五个扩展类视图的子类视图

    、DestoryModelMixin 8.RetrieveUpdateAPIView 提供 get、put、patch方法 继承自: GenericAPIView、RetrieveModelMixin、...UpdateModelMixin 9.RetrieveUpdateDestoryAPIView 提供 get、put、patch、delete方法 继承自:GenericAPIView、RetrieveModelMixin...方法获取所有 UpdateAPIView:继承UpdateModelMixin,GenericAPIView,有put和patch方法,修改数据 RetrieveAPIView:继承RetrieveModelMixin...方法删除 RetrieveUpdateAPIView:继承RetrieveModelMixin,UpdateModelMixin,GenericAPIView,有get获取一条,put,patch修改...获取一条 DRF框架的五个扩展类视图的子类视图,是为了更便于crud的封装减少通用逻辑的代码量,也是DRF简化版本,其实下面还有视图集可以进一步简化代码,等下一节介绍了。

    46120
    领券