解析器 request.post:当数据时content-type urlencoded类型时才有数据 当content-type:是formdata时需要从request.body里取数据 request.data:从postman发的是json还是urlencoded都可以解开,但是Django只能解urlencoded 默认支持以下三种解析器: 渲染器 顾名思义就是以rest_framework方式渲染页面 在settings里配置: 1 INSTALLED_APPS = [ 'rest_…
django-restframework之路由控制.解析器及响应器 一 前言 本篇博客介绍 restframework 框架的剩下几个组件,路由控制有三种:传统路由.半自动路由及全自动路由:解析器是用来解析要响应的数据格式,比如是form-data.json.或是urlencoded等数据格式:响应器根据用户请求 url 或用户可以接受的数据格式来筛选出合适的渲染组件. 二 路由控制 一 传统路由 urls.py from django.conf.urls import url from app…
一.认证组件.权限组件.频率组件总结:  只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查看,没有登录,就不能查看,这时候需要用到认证组件 1.认证组件格式 写一个认证类 from rest_framework.authentication import BaseAuthentication class MyAuth(BaseAuthentication): def authenticate(self,request): # request 是封装后的 toke…
一.url控制 基本路由写法:最常用 from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^books/', views.Books.as_view()), url(r'^book/', views.Book.as_view()), url(r'^login/…
DjangoRestFramework学习一之restful规范.APIview.解析器组件.Postman等 本节目录 一 预备知识 二 restful规范 三 DRF的APIView和解析器组件 四 Postman工具的使用 五 xxx 六 xxx 七 xxx 八 xxx 一 预备知识 预备知识:django的CBV和FBV CBV(class based view):多用,简单回顾一下 FBV(function based view): CBV模式的简单操作:来个登陆页面吧 login.h…
一.DRF - 解析器 1.解析器的引出 我们知道,浏览器可以向django服务器发送json格式的数据,此时,django不会帮我们进行解析,只是将发送的原数据保存在request.body中,只有post请求发送urlencoded格式的数据时,django会帮我们将数据解析成字典放到reques.POST中,我们可直接获取并使用,下面是django对数据解析的相关源码: def _load_post_and_files(self): if self.method != 'POST': se…
一.视图层封装 二.ViewSetMixin 三.路由配置 四.解析器 五.响应器 一.视图层封装 1.基本视图 写一个出版社的增删改查resfull接口 路由: url(r'^publish/$', views.PublishView.as_view()), url(r'^publish/(?P<pk>\d+)/$', views.PublishDetailView.as_view()), 视图: class PublishSerializers(serializers.ModelSeria…
一.频率组件 1.使用DRF简单频率控制实现对用户进行访问频率控制 1)导入模块,定义频率类并继承SimpleRateThrottle # 导入模块 from rest_framework.throttling import SimpleRateThrottle # 定义频率类并继承SimpleRateThrottle class RateThrottle(SimpleRateThrottle): rate = '5/m' # 指定访问频率,5/m表示 每分钟5次 def get_cache_k…
一.url注册器 通过DRF的视图组件,数据接口逻辑被我们优化到最剩下一个类,接下来,我们使用DRF的url控制器来帮助我们自动生成url,使用步骤如下: 第一步:导入模块 1 from rest_framework import routers 第二步:实例化一个router对象 1 router = routers.DefaultRouter() 第三步:将需要自动生成url的接口注册到router中 1 router.register(r'books', views.BookView) 第…
一.url注册器的使用 1.1导入模块 from django.urls import re_path, include from .serializer import views from rest_framework import routers 1.2生成一个注册器实例对象 router = routers.DefaultRouter() 1.3将需要自动生成url的接口注册 router.register(r"books", views.BookView) 1.4开始自动生成u…