小编曾经承诺的Django REST Framework原创系列教程终于赶上了2020年那年夏天的尾巴,姗姗而来。我们将用不少于10篇的原创文章系统性地介绍如何使用这个框架开发符合RESTful规范的API,并详细介绍API开发和管理中的核心知识比如关联模型的序列化、分页、过滤、认证、权限和限流。如果你已有一定Django基础知识并希望在API开发和前后端分离开发技术上更近一步, 请欢迎关注我们的微信公众号【Python Web与Django开发】并加星标哦。
为什么要学习Django REST Framework?
Django的未来与Web开发未来发展趋势紧密相关。Django这种基于MVC开发模式的传统框架,非常适合开发基于PC的传统网站,因为它同时包括了后端的开发(逻辑层,数据库层) 和前端的开发(如模板语言,样式)。
然而最近几年及未来几年更流行的开发模式肯定是前后端分离, Django也需要做出自己的改变来适应这种开发模式。现代网络应用Web APP或大型网站一般是一个后台,然后对应各种客户端(iOS, android, 浏览器)。由于客户端的开发语言与后台的开发语言经常不一样,这时需要后台能够提供可以跨平台跨语言的一种标准的资源或数据(如json格式)供前后端沟通,这就是Web API(网络应用程序接口)的作用了。
Django本身并不是为了开发符合REST规范的Web API而设计, 不过借助Django REST Framework (DRF)我们可以快速开发出优秀规范的Web API来。所以我们这里要感谢DRF,因为它,Django的应用前景更广了,减少了被淘汰的风险。
Django REST Framework的介绍及安装
Django REST framework (DRF)是基于Django实现的一个RESTful风格API框架,能够帮助我们快速开发RESTful风格的API,文档地址如下所示:
-
官网:https://www.django-rest-framework.org/
-
中文文档:https://q1mi.github.io/Django-REST-framework-documentation/
DRF可以使用pip安装,安装前请确保你已经安装了Django。
pip install djangorestframework
如果想要获取一个图形化的页面来操作API,需要将 rest_framework 注册到项目的INSTALL_APPS中,如下所示:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'your_app', # 你自己的app
]