Django REST实践(简介)
“用Django做一个'任务发布-认领'应用的后端REST API”系列,主要目的是帮助那些刚刚接触Django,但还没开发经验的同学,做一个完整的后端REST API,通过JSON格式的数据,实现前后端通讯。
官方教程以及“Tango With Django”教程都很好,但是耦合了太多前端的东西。本教程则只关注于后端的实现,没有使用任何Django的模板(template)等功能。去除掉这些,你会发现,Django也很轻量级。
同时,之后我也会写和该后端对应的前端教程。这样我们就可以实现一个完整的应用了!
本教程使用Python3,以及Django 2.0.5。
教程概况
教程主要分为这样几个部分:
1. 准备工作
2. 最简单的REST API实现
3. WEB登录原理与用户系统实现
4. 业务建模
5. 业务实现
6. Django APP解耦
7. 服务器部署
8. 其它
在每一节后面,都会附加一些习题来供大家练习。尤其在第5部分,我会给出一系列的API格式,教读者实现一些,然后让读者自己去实现剩下的部分。
学习完成后,你会:
1. 熟悉Django框架以及REST API
2. 一个可以复用的Django用户系统APP
3. 根据自己的业务模型和业务逻辑,建模、实现新的Django APP
4. Django APP解耦的思想
5. 部署一个生产环境下的Django Web服务
为什么用REST API?
Django本身就提供了强大的模板功能(template),但是实践下来发现,如果在团队中使用这种方式,前后端代码会耦合地太死。同时,使用Django模板功能也要求前端的同学熟悉Django模板的使用,增大了前端同学的学习成本。而现在前端基本都是在用Vue等框架来写,有自己完整的一套开发工具,不容易集成到Django中。
REST API的使用,可以很好地解决前后端分离的问题,前后端同学按照预先定义好的API编程,二者都不需要关注另一部分的逻辑。同时,这样也增大了Django APP的可复用性:通过对已有Django APP的组合,再稍加修改,就能拼接出一个新的后端。
如何学习
我自己在博客上或者教程里学习的时候,都会将教程里的步骤完完整整地走一遍,包括代码我也会自己写一遍,在写的同时思考每一句话的意思。这样可以确保自己理解了代码的意思,注意到实现中的细节,避免复制、粘贴后的“心虚”感。所以我也建议读者跟着教程一步一步走下来。
每一小节的项目代码都会上传到Github上,也包括习题的代码,可以供大家参考。