Django开发restful api的最佳实践 (一)
Django是Python Web开发中十分热门的一个框架,其给我的最大印象就是同python本身的内置电池特性很像,也具有很多已经比较成熟和好用的通用模块,比如自带的admin模块,稍加改造就能简单实现一个crud的db后台。
今天我们要开发一个restful的api,同样也有一个利器可以利用,它就是Django Rest Framework, 也就是常说的DRF。
先看一下它的优点,不多说, 自带授权认证体系 基于Oauth2 或者其他基本的session认证; 支持ORM; 文档丰富;
并且很多国外牛逼的公司都在用 Heroku啦 Mozilla啦 红帽啦等等
话不多说 一步一步开始
我使用PyCharm 超级好用的Python IDE
- 第一步创建项目
Django开发restful api的最佳实践 (一)
这里最好是选择通过 virtualenv 或者 conda 来维护一个虚拟的python环境。 -
然后我们安装必要的依赖,这里当然就是django和djangorestframework,具体操作如下,先打开console,然后执行
1pip install django和
Django开发restful api的最佳实践 (一)1pip install djangorestframework -
接着执行
1django-admin startproject drf_demo现在一个基本的django项目就成型了,目录结构如下图所示:
Django开发restful api的最佳实践 (一) -
django中的第三方支持都是通过django app的方式,想要在项目中启用drf,除了第二步install了之后,还需要在项目的settings.py中添加启用drf app的代码
编辑settings.pyINSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘rest_framework’,
] -
然后我们可以创建一个app, 也可以说是我们项目的主app,正如前面讲的django中都是以app的方式组织的。
在console中执行命令
1cd drf_demo/和
1python manage.py startapp api现在目录结构变成下面这样:
然后同样我们要在settings.py中开启这个app
1
2
3
4
5
6
7
8
9
10INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'api',
]到此为止项目的结构已经ok,第二篇我们继续编写api的主要代码,为了验证到目前为止没什么大问题,我们可以输入命令
1python manage.py runserver来执行测试的django web服务,打开浏览器访问http://127.0.0.1:8000 如果正常载入页面 就说明是ok的