Django REST framework简介

Posted lxfpy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django REST framework简介相关的知识,希望对你有一定的参考价值。

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/

为什么要用?

  1. 前后端分离的业务需要搭建API
  2. 基于Django快速开发RESTful API

技术图片

如何使用?

快速开始:

  1. 序列化
  2. 请求和响应
  3. 基于类的视图
  4. 认证和权限
  5. 关联和超链接的APIs
  6. 视图集和路由
  7. 概要和客户端库

 RESTful API规范是什么?

  1. GET(SELECT)   :从服务器取出资源(一项或多项)。
  2. POST(CREATE):在服务器新建一个资源。
  3. PUT(UPDATE)   :在服务器更新资源(客户端提供改变后的完整资源)。
  4. PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
  5. DELETE(DELETE):从服务器删除资源。
  6. HEAD  :获取资源的元数据。
  7. 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,
)

 

以上是关于Django REST framework简介的主要内容,如果未能解决你的问题,请参考以下文章

Django REST framework简介

Django REST framework框架详解

Python前后端分离开发Vue+Django REST framework实战_Django REST framework框架

Django REST framework视图

使用 Django rest_framework_jwt,如何允许使用准时使用代码自动登录?

如何避免 Django Forms 和 Django Rest Framework Serializers 中的代码重复?