第1个API
修改myapp1下的views.py,新建一个api,供前端调用。
from django.shortcuts import render,HttpResponse
import json
# Create your views here.
def testapi(request):
responses = {
'name': 'snamse',
'sage': 'sassse',
'ssex': 'ssesssssx',
'caa': '当前显示的事app 的测试',
}
return HttpResponse(json.dumps(responses))
API写好了,很简单,返回map对应的json格式的字符串。这也是web请求里Ajax中最常用的一种方式。
Api的路由分发
为了访问到我们的API,我们要设置这个Api的访问路径即url。在myapp1目录下新建一个名为urls.py的文件,内容如下 :
app_name = 'myapp1'
from . import views
from django.urls import path
urlpatterns = [
path(r'testapi', views.testapi),
]
它的作用是在myapp1这个应用中,路径testapi对应方法名为views.testapi的函数。
再修改项目目录中的urls.py,内容如下 :
"""mypro URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/3.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path(r'myapp1/', include('myapp1.urls')),
]
只加了一行path(r’myapp1/’, include(‘myapp1.urls’)),以及引用include。这里的声明,myapp1这个路径,转向在myapp1.urls中去搜索。
测试效果
在浏览器中输入路径:http://127.0.0.1:8000/myapp1/testapi
返回了我们希望的json格式字符串。