首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第 3 篇:实现博客首页文章列表 API

开发的异同时说过,django-rest-framework 开发和传统的开发方式没有什么不同,区别仅在于返回的数据格式不同而已。...401:没有提供身份认证信息 403:没有操作权限 404 :访问的资源不存在 405:不支持的 HTTP 请求方法 500:服务器内部错误 HTTP 请求和响应过程,django-rest-framework...但是资源的序列化,框架是无法自动化完成的,框架提供了基本的序列化器,我们需要自定义序列化逻辑。所以,让我们来定义 PostListSerializer 序列化器,用它来序列化文章列表。...,django-rest-framework 就会根据各个属性的数据类型,自动推测需要使用的系列化字段,从而生成标准的序列化器。...事实上,我们可以来看一下 django-rest-framework 最终生成的序列化器长什么样子: class PostListSerializer(): id = IntegerField(

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

不会DRF?源码都分析透了确定不来看?

View和DRF APIView的小插曲 DRF之APIView和Request对象分析 APIView的执行流程 Request对象分析 原来的django没有request.data,造一个!...为1的数据,这里尽量在body体里写全参数 局部修改:修改id为1的数据,修改啥写啥 删除一条数据:删除id为2的数据 CBV源码流程分析 因为DRF框架里大部分都是基于CBV..._allowed_methods()) getattr(obj,pro,None):按pro判断是否有无obj.pro属性没有返回None,None可以自定制 反射忘记的可以看俺的这篇博客:python...这里是经过包装后的request rest_framework.request.Request常用属性和方法 这里的request和原来的Django使用request一样,只是多了一个request.data...# 原来的django的request对象没有data,使得request.data-->无论什么编码格式,post提交数据,data都有值 from django.views import View

1.3K10

DRF框架学习(四)

DRF框架学习(四) 1.视图集对象的action属性 作用: 获取现在要执行的是哪一种操作。 self.action:是字符串类型,目的是获取所有执行的操作。...在执行视图的dispatch()方法前,会先进行视图访问权限的判断 在通过get_object()获取具体对象时,会进行对象访问权限的判断 DRF框架提供了四个权限控制类: AllowAny允许所有用户...""" # 需求: 对id为1,3的数据对象有访问权限,其他的对象没有访问权限 if obj.id in (1, 3): return True...6.1 使用 DRF框架默认没有进行全局限流设置,但是提供了配置项,我们可以在配置文件中,使用 DEFAULT_THROTTLE_CLASSES 和 DEFAULT_THROTTLE_RATES进行全局配置...pass 7.过滤 对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。

2.7K40

RESTful API

区别与其他架构风格的最本质属性 对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构(ROA:Resource Oriented Architecture) 对互联网上的任意东西都视为资源...{ error: "Invalid API key" } 9、返回结果 针对不同操作,服务器向用户返回的结果应该符合以下规范 GET /collection:返回资源对象列表(数组) GET...下面我们来看看基于Django Rest Framework框架实现 五、基于Django Rest Framework框架实现 1、自定义认证规则 详见链接 class MyAuthtication...可以有两种方式 局部使用 from app01 import views from django.conf.urls import url urlpatterns = [ # django rest...遇到这个错误就是因为没有在settins中注册rest_framework.

1.6K20

测试开发进阶(二十五)

痛点 代码冗余极其严重,不符合优秀测开风格 数据校验非常麻烦,且可复用性差 编码没有统一的规范,杂乱无章的感觉 写的代码非常多,不够简洁 仅支持json格式的传参,不支持form表单传参 仅能返回json...格式的数据,其他类型不支持 列表页视图没有分页,过滤,排序功能 Django REST framework 在Django框架基础上,进行二次开发 用于构建Restful API 简称为DRF框架REST...', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework...(或者查询集),传给instance 就可以进行序列化操作 2.通过序列化器ProjectSerializer对象的data属性,就可以获取转化后的字典 from projects.serializer...) raise_exception=True校验失败会抛出异常 当调用 is_valid方法后,才可以调用 errors属性,获取校验的错误提示「字典格式」 class ProjectsList(View

79030

Python进阶39-drf框架(一)

的简称,中文翻译为“表征状态转移” 4.所有的数据,不过是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性 5.对于REST这种面向资源的架构风格...应返回错误信息,error当做key { error: "Invalid API key" } 返回结果,针对不同操作,服务器向用户返回的结果应该符合以下规范 GET /collection:返回资源对象列表..._request, attr) # 访问属性完全兼容原生request except AttributeError: return self...._request就是原生request # 2) 原生request对象属性和方法都可以被drf的request对象直接访问(兼容) # 3) drf请求的所有url拼接参数均被解析到query_params...) 点进去 # 从视图类中得到renderer_classes请求类,如何实例化一个个对象形参解析类对象列表 return [renderer() for renderer in self.renderer_classes

4K30

用 GraphQL 查询你的 Django 应用

vs 扩展的 REST 协议 (此小节中图片拷贝自网络,懒得画) 和 REST 一样,GraphQL 并不是什么开发框架,它只是定义了一种通用型查询的 DSL。...传统的 REST 协议 假如我们需要获取所有用户维度的评论,我们需要先获取通过 /users 所有用户 id,再使用 id 列表遍历查询 /users//comments 来获取相关的列表。...基于 REST ,单个请求只能针对单个对象进行描述。需要等待需求沉淀,由后端主动封装,迭代节奏会更慢。 什么是 GraphQL 客户端?...comments = DjangoListObjectField(CommentListType, description="Query all comments") 支持复杂过滤查询 可以在列表对象中增加...适合成熟的客户端开发团队,反之 REST 是更好的选择 Django 相关的生态建设并不完善,没有一个足够强大、开箱即用的整合方案 由于查询并不是基于 Uri 维度,会给周边配套的生态—— 监控、日志等

2K60

Django实践-10RESTful架构和DRF入门

文件的问题 django配置app中的静态文件步骤 Django多APP加载静态文件 django.short包参考: 中间件的应用 Django 前后端分离(REST Framework)...例如GET:http://www.xxx.com/friends/123表示获取ID为123的会员的好友列表。如果不加id就表示获取所有会员的好友列表。...ID的学生的指定ID的朋友 RDF实现 DRF使用入门 参考:https://www.django-rest-framework.org/ 在Django项目中,如果要实现REST架构,即将网站的资源发布成...Start off by adding the following to your settings.py module: REST框架API的任何全局设置都保存在一个名为REST_FRAMEWORK...serializer = SubjectSerializer(subjects, many=True) # 通过序列化器的data属性获得模型对应的字典并通过创建Response对象返回

24621

Django Rest Framewor

区别与其他架构风格的最本质属性 对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构(ROA:Resource Oriented Architecture) RESTful...animal_type_id=1:指定筛选条件 状态码 ? ? 200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。...404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。...GET /collection:返回资源对象列表(数组) GET /collection/resource:返回单个资源对象 POST /collection:返回新生成的资源对象 PUT /collection...Rest Framework框架的基本实现   url.py: from django.conf.urls import url, include from web.views.s1_api import

1.3K20
领券