permissions.py源码分析 SAFE_METHODS = ('GET', 'HEAD', 'OPTIONS') #GET请求,HEAD获取头部信息,OPTIONS获取可用请求类型设置为安全方法 #POST,PUT,PATCH,DELETE都会修改数据,没有加到这个元组 @six.add_metaclass(BasePermissionMetaclass) class BasePermission(object): """ A base class from whic…
rest框架提供自定义分页样式,让你修改再每个页面上显示多少条数据, pagination API 可以: 分页链接作为响应内容的一部分 分页链接包含在响应头里,比如Content-Range or Link 内建的样式都使用作为响应内容的链接,使用可访问的API时这种样式更便于访问. 设置分页样式 使用DEFAULT_PAGINATION_CLASS and PAGE_SIZE setting keys,分页样式就能被全局设置. 分页样式有好几个,如果使用内建的limit/offset分页,可…
rest框架包括一个处理viewset的抽象,允许开发人员集中精力处理api交互和建模,url构造都根据常见方式自动处理. ViewSet类 几乎和VIew类一样,不过它提供read,update这样的操作,而不是get,put. Refactoring to use ViewSets 现在来重构之前的view代码.首先把CourseList和CourseDetail重构为一个简单的CourseViewSet. from rest_framework import viewsets from .…
Rewriting our API using class-based views 使用类视图重写root views,只需要一点点重构. from django.http import Http404 from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status from .models import Course f…
Request objects REST framework中有一个Request对象,是HttpRequest的扩展,提供了新的请求解析,Request的核心功能就是request.data,它和request.POST相似,但是在web API中更为有效 request.POST # Only handles form data. Only works for 'POST' method. request.data # Handles arbitrary data. Works for 'P…