Django+RestFramework API接口及接口文档并返回json数据

介绍

随着互联网的发展,越来越多的数据需要被通过API接口进行交互使用。Django是一个高效的Python Web框架,功能强大,而Rest Framework则是为Django提供API接口的插件,可以轻松地构建API接口,返回JSON数据。本文将介绍使用Django和Rest Framework构建API接口并提供API接口文档。

环境准备

要使用Django和Rest Framework构建API,需要先安装Python,并安装Django和Rest Framework模块。可以通过以下代码进行安装:

pip install django

pip install djangorestframework

创建Django项目

在安装好Django和Rest Framework之后,就可以创建Django项目。

首先,使用以下代码创建一个Django项目:

django-admin startproject myproject

这将创建一个名为myproject的Django项目,其中包含一个名为manage.py的文件和一个名为myproject的文件夹。

接下来,我们将创建一个Django应用程序。 运行以下代码:

cd myproject

python manage.py startapp myapp

这将在myproject文件夹中创建一个名为myapp的Django应用程序。我们可以在myapp文件夹中编写我们的API接口代码。

创建API接口

在myapp文件夹中创建一个新的Python文件,名为views.py。在文件中编写以下代码:

from rest_framework.decorators import api_view

from rest_framework.response import Response

@api_view(['GET'])

def my_api(request):

data = {'hello': 'world'}

return Response(data)

上述代码定义了一个名为my_api的API接口,它使用@api_view装饰器和GET请求方法装饰。函数中定义了一个字典,名为data,包含一个键值对,名为hello和world。该函数返回使用Response函数包装的data字典,即返回JSON数据。

配置URL路由

接下来,我们需要配置URL路由,以便我们的API接口能够通过URL进行访问。

在myapp文件夹中创建一个名为urls.py的Python文件,编写以下代码:

from django.urls import path

from . import views

urlpatterns = [

path('my_api/', views.my_api, name='my_api'),

]

上述代码定义了一个包含一个名为my_api的URL路由,它指向我们之前定义的名为my_api的API接口。

现在,我们需要将myapp应用程序的URL路由添加到myproject文件夹中的urls.py文件中,如下所示:

from django.contrib import admin

from django.urls import include, path

urlpatterns = [

path('admin/', admin.site.urls),

path('api/', include('myapp.urls')),

]

上述代码定义了一个包含两个URL路由的列表,一个指向Django的管理员页面,一个指向我们的API接口(my_api)。 "api/"将被添加到url以使之与我们的API接口区别开来。

生成API接口文档

Rest Framework提供了生成API接口文档的工具,Swagger及其UI,我们使用以下代码安装它们:

pip install django-rest-swagger

在myproject文件夹中的settings.py文件中,INSTALLED_APPS中添加以下代码:

INSTALLED_APPS = [

#...

'rest_framework_swagger',

]

接下来,将以下代码添加到myapp文件夹的urls.py文件的urlpatterns中:

from rest_framework_swagger.views import get_swagger_view

schema_view = get_swagger_view(title='My API')

urlpatterns = [

#...

path('docs/', schema_view),

]

现在我们可以运行Django,并通过访问"http://localhost:8000/docs/"来查看我们的API接口文档。

整合前端代码

当你有了以上的API接口,就可以将它和前端代码整合,从而使前端页面可以方便的调用API接口。

例如,根据temp变量不同,返回不同的JSON数据。前端代码可以这样写:

let temp = 0.6

if (temp > 0.5) {

$.getJSON("/api/my_api/", function(data) {

alert(data.hello)

});

} else {

$.getJSON("/api/my_api2/", function(data) {

alert(data.hello2)

});

}

当temp大于0.5时,调用my_api接口并弹出"data.hello"的值;反之,则调用my_api2接口并弹出"data.hello2"的值。

这样,我们就可以通过API接口方便地进行数据交互了。

上一篇:Django+SimpleUI

下一篇:django---url---04

后端开发标签