Django REST Framework 教程开篇

欢迎来到 HelloDjango 全栈系列教程第二步——Django REST Framework 教程!
首先恭喜你完成了 HelloDjango 全栈系列教程的第一步——Django 博客教程(第二版),在这个教程中,我们学习了基于传统模板引擎的开发方式,前端展示的 HTML 页面由后端负责渲染,后端程序员包揽了前后端开发的全部工作。
但是随着前端技术的演进,前后端分离的开发方式变得越来越流行。稍有规模的公司大都采用前后端分离的开发方式,在这种开发方式下,后端程序员只需关注业务逻辑,通过接口返回业务数据,无需懂得 HTML、CSS、JavaScript 这些前端语言(当然作为优秀的程序员,虽然不用再写,但这些都还是要懂的);前端程序员,则可以使用借助 Vue、React 等优秀的 js 框架以及 Webpack 等打包工具,专注于页面开发。而将他们联系起来的桥梁就是前后端之间数据交互的接口规范。
现在最流行的数据交互接口规范当然要属 REST 规范。REST 全称 Representational State Transfer,意为"表现层状态转化"。简单来说,在符合 REST 原则的 RESTful 架构中,一个 URL 代表某个网络资源,网络资源可以指一篇博客文章、一张图片、一首歌曲或者一种服务等。资源通常由某种标准化的格式进行描述,描述资源的格式有很多种,例如 HTML 文档就是一种描述形式。在此之前,XML 是最为常用的格式,但现在,也有越来越多的系统采用 JSON 这种更加轻量的描述形式。在客户端和服务器交互时,资源便以某种描述的格式进行传递。客户端则使用 HTTP 协议,充分借助 HTTP 协议的动词(例如 GET、POST)来表达对服务端资源进行某种操作的意图,例如 GET 用来获取资源,POST 用来新建资源(也可以用于更新资源),PUT 用来更新资源,DELETE 用来删除资源。
因此,假设我们的系统采用 RESTful 架构,对于前端工程师来说,他的工作就是根据渲染的页面,向后端发起符合 RESTful 风格的 HTTP 请求,获取接口返回的数据,渲染前端页面。而对于后端程序员来说,就是要编写接口,解读前端发来的请求,对资源进行相应操作并返回前端需要的数据。
如何解读前端的请求、如何使用指定的格式描述并传递资源等都是一系列标准化且重复的工作,所以可以由一套统一的框架来实现。django 本身没有提供这样的处理框架,但 django 的第三方拓展——django-rest-framework 就是一套专门用来开发符合 REST 规范的 RESTful 接口的框架。可以说在现在这个前后端分离的大环境下,django 开发基本离不开 django-rest-framework。因此接下来的教程里,我们将全面学习 django-rest-framework 的使用。
我们的示例项目将延续 Django 博客教程(第二版) 中开发的博客,如果你是跟着教程到这里的话,那你可以很顺畅地继续走下去。如果你没有看上一部教程也没有关系,在 django-rest-framework 教程正式开始之前会指导大家如何一步步将博客运行起来。django-rest-framework 教程虽然延续 Django 博客教程(第二版) 中的项目,但在内容上并无太大关联,如果你已经有了 django 基础(了解 ORM 以及类视图就行),就可以直接开始本教程。当然如果是纯 django 新手,对 django 中的基础概念还比较陌生的话,推荐先学习 Django 博客教程(第二版),打好基础,再来学习本教程会事半功倍。

关注公众号加入交流群
Django REST Framework 教程开篇的更多相关文章
- Django Rest Framework 教程及API向导
Django Rest Framework 教程及API向导. 一.请求(Request)REST_FRAMEWORK 中的 Request 扩展了标准的HttpRequest,为 REST_FRAM ...
- django restful framework教程大全
一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...
- Django REST FrameWork中文教程2:请求和响应
从这一点开始,我们将真正开始覆盖REST框架的核心.我们来介绍几个基本的构建块. 请求对象REST框架引入了Request扩展常规的对象HttpRequest,并提供更灵活的请求解析.Request对 ...
- Django REST framework 中文教程1:序列化
建立环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv envsource env/ ...
- Python3+PyCharm+Django+Django REST framework开发教程
一.说明 自己一是想跟上潮流二是习惯于直接干三是没有人可以请教,由于这三点经常搞得要死要活.之前只简单看过没写过Diango,没看过Django REST framework,今天一步到位直接上又撞上 ...
- django rest framework
Django-Rest-Framework 教程: 4. 验证和权限 作者: Desmond Chen, 发布日期: 2014-06-01, 修改日期: 2014-06-02 到目前为止, 我们的AP ...
- 用Django Rest Framework和AngularJS开始你的项目
Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程&quo ...
- Django REST framework+Vue 打造生鲜超市(一)
一.项目介绍 1.1.掌握的技术 Vue + Django Rest Framework 前后端分离技术 彻底玩转restful api 开发流程 Django Rest Framework 的功能实 ...
- Django REST framework+Vue 打造生鲜超市(三)
四.xadmin后台管理 4.1.xadmin添加富文本插件 (1)xadmin/plugins文件夹下新建文件ueditor.py 代码如下: # xadmin/plugins/ueditor.py ...
随机推荐
- startUML5.0中的tools下怎么没有java、c等选项
这也是帮一个直系学妹弄得,哈哈~~~ 具体做法如下: 进入到StartUML\modules目录下,里面有很多文件夹,比如startuml-cpp.startuml-csharp等等, 进入到每个文件 ...
- 负载均衡框架 ribbon 一
Ribbon开源地址:https://github.com/Netflix/ribbon/wiki/Getting-Started 1.Ribbon简介 负载均衡框架,支持可插拔式的负载均衡规则 支持 ...
- Apollo 高可用配置中心搭建教程
Apollo开源文档中搭建流程讲的很详细,此处只提供传送门 1.Apollo配置中心开源地址 2.服务包下载地址 3.教程文档地址 4.视频教程地址 5.Apollo使用指南 说明: apollo-c ...
- Element-UI饿了么时间组件控件按月份周日期,开始时间结束时间范围限制参数
在日常开发中,我们会遇到一些情况,在使用Element-UI 限制用户的日期时间范围的选择控制(例如:查询消息开始和结束时间,需要限制不能选择今天之后的时间). 看了网上的一些文档,零零散散.各式各样 ...
- vue项目基本步骤
首先查看电脑是否已经安装vue并查看版本: window+R快捷打开命令行,cmd,输入node -v回车 如果未安装操作步骤如下: 1:$ cnpm install vue(新电脑安装Vue,永久) ...
- 17 Spring Data JPA的常用接口分析
思考 在客户的案例中,我们发现在自定义的CustomerDao中,并没有提供任何方法就可以使用其中的很多方法,那么这些方法究竟是怎么来的呢?答案很简单,对于我们自定义的Dao接口,由于继承了JpaRe ...
- 2020年ubuntu sever1804 安装和配置
最后一次折腾linux服务器,应该是13的我的VPS.因为转行后,没有及时关注vps续费的问题,结果过期,所有的数据丢失了 当时觉得,反正都不做了,丢了就丢了吧,可现在想起来,实在是太后悔了. 今天, ...
- Core + Vue 后台管理基础框架3——后端授权
1.前言 但凡业务系统,授权是绕不开的一环.见过太多只在前端做菜单及按钮显隐控制,但后端裸奔的,觉着前端看不到,系统就安全,掩耳盗铃也好,自欺欺人也罢,这里不做评论.在.NET CORE中,也见过不少 ...
- TCP断开连接(四次挥手)
四次挥手 ACK建立连接之后都为1. 1.A发送释放连接报文段,FIN=1. 2.B收到并回复确认,TCP进入半关闭状态,即此时B能向A发送,但是A无法向B发送数据. 3.当B传输完所有数据之后,发送 ...
- vue-element-admin中是如何配置浏览器中的页面标题
因为在vue-element-admin中杈哥是写个一个动态路由标题,就是说你点进那个页面,它会显示对应页面的标题,所以我们仅仅在index页面进行修改是没有用的,那么我们改如何修改呢? 找到perm ...