:::info 💡 第一个接口编写步骤 :::

汇报人:puppet洛洛
日期:2022年5月10日23:58:10

1.写接口前的准备工作

前面一直都是进行一些配置项,现在为写第一个接口做一些最后的准备工作。
我们在之前已经运行起来了Django项目,现在写接口需要用到路由的概念,你可以理解为根据url连接进行对应处理就是路由的基本概念。
1,首先,Django中存在父路由的概念,类似于是实现一整个模块(或一个Django APP)的功能接口集合,如订单模块(或一个Django APP)写和订单相关的接口(如添加到购物车接口),那这个订单路由则是父路由,添加到购物车接口就是子路由。
2,实际配置:
2.1,在与项目同名的文件夹下的urls.py中是存放父路由的,app文件下新建一个也叫urls.py(为了区分,我用app_urls.py代替)的文件存放子路由,通过urls.py文件配置父路由,再在app_urls.py中与与父路由绑定,最终完成整个接口的编写。图示:
image.png
2.2,代码示例

  1. from django.contrib import admin
  2. from django.urls import path
  3. from django.contrib import admin
  4. from django.urls import path, include
  5. from django.conf.urls.static import static
  6. from django.conf import settings
  7. urlpatterns = [
  8. path('admin/', admin.site.urls),
  9. path('article/', include('rent.urls')), # 在主程序上注册路由
  10. ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # 展示图片
  1. from django.urls import path
  2. from . import views
  3. urlpatterns = [
  4. path('navgator', views.firstapi, name='firstapi'),
  5. ]
  1. from django.http import JsonResponse
  2. from django.shortcuts import render
  3. # Create your views here.
  4. def firstapi(request):
  5. """
  6. :param request:
  7. :return:
  8. """
  9. if request.method == 'GET':
  10. data = {
  11. "username": "zg",
  12. "passwoed": "zy123465"
  13. }
  14. return JsonResponse(data)

可以看到app_urls.py里有一个函数views.firstapi,这就是接口的具体功能函数,绑定了app里的view.py里的函数。
最终接口就是父路由+子路由(子路由绑定具体功能,放在view.py中),启动项目后即可调用如下接口实现功能。
http://127.0.0.1:8000/article/navgator
2.3,有时候,我们需要除本机外的机器也访问到这个接口给同事调试,此时在settings.py文件的allowhost配置设置一个[‘*’]即可。
最后结果:
image.png