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‘,
)

原文地址:https://www.cnblogs.com/lxfpy/p/10971961.html

时间: 2024-10-09 04:30:55

Django REST framework简介的相关文章

Django REST framework 简介

Django REST framework 简介1.在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的.2.在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增.删.改.查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的: 增:校验请求数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回删:判断要删除的数据是否存在 -> 执行数据库删除改:判断要修改的数据是否存在 -&g

DRF (Django REST framework) 框架介绍

Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离 前后端分离 1 前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高. 这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口. 2 前后端分离 在前后端分离的应用模式中,后端仅返

1、Django REST framework 理解

Web应用模式 1 .前后端不分离:在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与厚度那的耦合度很高. 这种应用模式比较合适纯网页应用,但是后端对接APP时,App可能并不需要后端返回一个HTML网页,二仅仅是数据本身,所以后端原本返回网页的接口不在适用前端APP应用,为了对接APP后端嗨需再开发一套接口2.前后端分离:在前后端分离的应用模式中,后端仅返回前端所需的数据,不在渲染HTML页面,不在控制前端的效果,只用前端

Django REST framework框架详解

Django REST framework 简介 在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的. 在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增.删.改.查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的: 增:校验请求数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回 删:判断要删除的数据是否存在 -> 执行数据库删除 改:判断要修改的数据是否存在 -&g

在 Django REST framework 善用 SerializerMethodField 来优化不必要的查询

在 Django REST framework 善用 SerializerMethodField 来优化不必要的查询 首先来看一个例子,在一般情况下,对于有父子关系的对象,我们使用下面的方法来创建类. 一个Article类,一个Article对象可以有多个Comment实例,那么Django中类的定义如下: #coding:utf-8 from django.db import models from django.contrib.auth.models import User class Ar

Django REST framework 源码分析

简介 Django REST framework is a powerful and flexible toolkit for building Web APIs. 文档:https://q1mi.github.io/Django-REST-framework-documentation/ 安装 pip install djangorestframework --- 原文地址:https://www.cnblogs.com/0bug/p/8515358.html

Django Rest Framework源码剖析(二)-----权限

一.简介 在上一篇博客中已经介绍了django rest framework 对于认证的源码流程,以及实现过程,当用户经过认证之后下一步就是涉及到权限的问题.比如订单的业务只能VIP才能查看,所以这时候需要对权限进行控制.下面将介绍DRF的权限控制源码剖析. 二.基本使用 这里继续使用之前的示例,加入相应的权限,这里先介绍使用示例,然后在分析权限源码 1.在django 项目下新建立目录utils,并建立permissions.py,添加权限控制: class MyPremission(obje

Django Rest Framework源码剖析(三)-----频率控制

一.简介 承接上篇文章Django Rest Framework源码剖析(二)-----权限,当服务的接口被频繁调用,导致资源紧张怎么办呢?当然或许有很多解决办法,比如:负载均衡.提高服务器配置.通过代理限制访问频率等,但是django rest framework自身就提供了访问频率的控制,可以从代码本身做控制. 二.频率控制内部原理概述 django rest framework 中频率控制基本原理基于访问次数和时间,通过计算实现,当然我们也可以自己定义频率控制方法.基本原理如下: 启用频率

Django Rest Framework源码剖析(八)-----视图与路由

一.简介 django rest framework 给我们带来了很多组件,除了认证.权限.序列化...其中一个重要组件就是视图,一般视图是和路由配合使用,这种方式给我们提供了更灵活的使用方法,对于使用者而言不同的视图具有不同的功能,这样我们可以根据需求定制自己视图.以下是官网传送门:http://www.django-rest-framework.org/api-guide/views/ 在之前的文章中,由于参杂了权限.认证等(如果不了解请看博客的以前的文章),但在本章中基本可以不使用,所进使