摘要: 一.FBV和CBV FBV(function base views) 就是在视图里使用函数处理请求。 CBV(class base views) 就是在视图里使用类处理请求。 在之前的代码习惯中,通常使用一个url对应一个视图函数,即FBV; DjangoRestFramework使用的是多个url 阅读全文
posted @ 2020-12-13 17:28 盲仔不瞎忙 阅读(186) 评论(0) 推荐(0)
摘要: Request 在接收到请求后自动根据content_type指明的请求数据类型,将其解析为类字典对象保存到request对象当中. 常用属性: 1 .data request.data类似于request.POST和request.FILES特性, 包含了解析之后的文件和非文件数据 包含了对POS 阅读全文
posted @ 2020-12-13 17:23 盲仔不瞎忙 阅读(276) 评论(0) 推荐(0)
摘要: 一、Exceptions 1.REST框架中视图中异常处理 视图处理不同的异常,然后返回合适的异常响应。 处理的异常包括: - REST内部抛出的APIException的子类 - Django’s Http404异常 - Django’s PermissionDenied异常 在每一个情况中,RE 阅读全文
posted @ 2020-12-13 17:21 盲仔不瞎忙 阅读(316) 评论(0) 推荐(0)
摘要: 在rest_framework中,REST框架为status模块中的每个状态码提供了更明晰的标识符。使用它们来代替纯数字的HTTP状态码是一个很不错的选择。 状态码的使用通常与rest_framework中的Response一块. 示例: from rest_framework import sta 阅读全文
posted @ 2020-12-13 17:11 盲仔不瞎忙 阅读(222) 评论(0) 推荐(0)
摘要: 解析器 默认的三个解析器 - JsonParser Json数据解析器 - FormParser 和 MultiPartParser 一般同时使用 DEFAULTS = { # rest_framework settings.py 'DEFAULT_PARSER_CLASSES': ( 'rest_ 阅读全文
posted @ 2020-12-13 17:05 盲仔不瞎忙 阅读(83) 评论(0) 推荐(0)
摘要: 渲染器 该功能只是在我们的开发调试的时候用,默认有两个类。 当浏览器访问时走BrowsableAPIRender类返回html页面 当其他形式访问时返回json形式返回 #restframework中默认就是下面 这两个render类,它的内部实现原理是拿url中的后缀名 .json 和类中的for 阅读全文
posted @ 2020-12-13 16:55 盲仔不瞎忙 阅读(161) 评论(0) 推荐(0)
摘要: 路由 可以通过路由as_view()传参 根据请求方式的不同执行对应不同的方法 在routers模块下 封装了很多关于路由的方法 , 最基础的BaseRouter类,给我提供自定制的接口。 rest_framework也为我们的url进行了优化,我们以前写的url还是有很大的代码重复性, rest_ 阅读全文
posted @ 2020-12-13 16:50 盲仔不瞎忙 阅读(255) 评论(0) 推荐(0)
摘要: 访问频率组件 这个组件是用来控制单位时间内某个用户的访问次数的. 可以用在反爬虫中 基础的BaseThrottle类提供接口 接口函数为 allow_request,如果返回False则走wait SimpleRateThrottle类给我们提供了get_cache_key接口,继承这个类要写rat 阅读全文
posted @ 2020-12-13 16:48 盲仔不瞎忙 阅读(102) 评论(0) 推荐(0)
摘要: 权限组件 权限组件和认证组件一样,都是用了相同的模式,全局和局部 由BasePermission类给我提供接口 接口函数为 has_permission 以及 has_object_permission 有权限返回True 没有则返回False,默认的权限类为如下 from rest_framewo 阅读全文
posted @ 2020-12-13 16:43 盲仔不瞎忙 阅读(255) 评论(0) 推荐(0)
摘要: 超链接API:Hyperlinked 它指的是当你返回的结果中有一对多或多对多时,这时候,服务器会返回一条url,你点击这个url就会直接看到具体的信息, 比如对于单个book对象来说,他返回的hyperlinked,点进去就会看到publish的id,title,email等信息 urls.py: 阅读全文
posted @ 2020-12-13 16:34 盲仔不瞎忙 阅读(116) 评论(0) 推荐(0)
摘要: 版本控制 版本控制有利于我们根据客户端的版本不同做出不同的处理 url.py from django.conf.urls import url, include from web.views import TestView urlpatterns = [ url(r'^(?P<version>[v1 阅读全文
posted @ 2020-12-13 16:26 盲仔不瞎忙 阅读(69) 评论(0) 推荐(0)
摘要: Schemas Schemas是指机器可读的文件,这个文件包含API 的endpoints,URLs,和支持的操作.。 Schemas是一个非常有用的工具,他可以用来自动生成文档,也可以用于动态的驱动client libraries与API进行交互。 为了提供schema 支持,REST frame 阅读全文
posted @ 2020-12-13 16:23 盲仔不瞎忙 阅读(562) 评论(0) 推荐(0)
摘要: 序列化 由于queryset不能被json序列化,所以我们要对数据转换一下 方式一:list强转 data=list(Book.objects.all().values("title","price")) json.dumps(data,ensure_ascii=False) 可以解决页面上中文乱码 阅读全文
posted @ 2020-12-13 15:43 盲仔不瞎忙 阅读(459) 评论(0) 推荐(0)