在开发django项目时,你可以使用rest_framework进行快速敏捷的开发。
django_rest_framework总结一下一般有如下几大功能
a、认证:有类,类中的方法authenticate/authenticate_header,它的返回值有None,元组,异常。如果返回值为None那就不管,它是匿名用户。
b、权限:有类,类中的方法:has_permission
c、节流:有类,类的方法:allow_request,在这里allow_request来表示限制,它是通过IP来限制,
它的内部原理是:默认是IP,用户来用IP,这个IP可能代理IP,IP或者是代理IP拿着请求头默认放到大家能够的缓存中 去,每一个人的IP为p,后面的那个列表存它的方位时间,每一次请求进来获取它的当前时间根据时间的个数来比较,在 比较的过程中看看把不符合时间的个数来进行比较,能访问就继续,不能访问就不要继续。
d、版本:是url和hostname,他们两个钟每一个都有两个方法一个是帮你拿版本另一个是帮你反向生成url
e、解析器:用户发过来的请求体数据进行操作
f、序列化:两个功能:序列化,校验
rest_framework现在已经更新到最新的3.9.1版本,支持django1.1,django2.0以上版本,如果你使用的是django1.8版本,请使用rest_framework3.5.4版本,不然会报url错误。
在3.8版本中整合了list_route和detail_route为一个action方法,影响不大。
如果项目中使用了自定义的user模块,使用自定义的user,不要用auth_user。
-
需要安装rest_framework,pip install djangorestframework
-
在settings.py INSTALLED_APPS 加入rest_framework,如需要引入其他自定义如分页,需要`REST_FRAMEWORK = {
‘DEFAULT_PAGINATION_CLASS’: ‘rest_framework.pagination.PageNumberPagination’,
‘PAGE_SIZE’: 10
}` -
在url中加入(r’^api-auth/’, include(‘rest_framework.urls’, namespace=‘rest_framework’))