Django REST framework介绍
介绍
现在前后端分离的架构设计越来越流行,业界甚至出现了API优先的趋势。
显然API开发已经成为后端程序员的必备技能了,那作为Python程序员特别是把Django作为自己主要的开发框架的程序员,十分推荐Django REST framework(DRF)这个API框架。
Django REST framework(DRF)框架文档齐全,社区较稳定,而且由于它是基于Django这个十分全面的框架而设计开发的,能够让开发者根据自己的业务需要,使用极少的代码量快速的开发一套符合RESTful风格的API,并且还支持自动生成API文档。
Django REST framework(DRF)官网:
http://www.django-rest-framework.org/
老男孩讲师李文周正在翻译的官方文档:
https://q1mi.github.io/Django-REST-framework-documentation/
为什么要用?
- 前后端分离的业务需要搭建API
- 基于Django快速开发RESTful API
RESTful API规范是什么?
- GET(SELECT) :从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE) :在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
- HEAD :获取资源的元数据。
- OPTIONS :获取信息,关于资源的哪些属性是客户端可以改变的。
restful协议
互联网一切皆是资源,操作动词只是请求方式
例如:
# book表增删改查 /books/ books /books/add/ addbook /books/(\d+)/change/ changebook /books/(\d+)/delete/ delbook
改成restful协议的样子,请求方式代表动作:
#book表增删改查 /books/ -----get Books ----- 返回当前所有数据 /books/ -----post Books ----- 返回提交数据 /books/(\d+) -----get Bookdetail ----- 返回当前查看的单条数据 /books/(\d+) -----put Bookdetail ----- 返回更新数据 /books/(\d+) -----delete Bookdetail ----- 返回空
class:
class Books(View): def get(self,request): pass # 查看所有书籍 def post(self,request): pass # 添加书籍 class BooksDetail(View): def get(self,request,id): pass # 查看具体书籍 def put(self,request,id): pass # 更新某本书籍 def delete(self,request,id): pass # 删除某本书籍
快速实例
下载
pip install djangorestframework
安装
djangorestframework是一个组件,所以需要在settings里安装一下
INSTALLED_APPS = ( ... 'rest_framework', )