1、安装django
pip install django
2、新建一个django工程
python manage.py startproject cainiao_monitor_api
3、新建一个app
python manage.py startapp monitor
4、安装DRF
pip install djangorestframework
5、编写视图函数
views.py
from rest_framework.views import APIView import json import cx_Oracle from django.http import HttpResponse # Create your views here.class MonitorMsg(APIView):# 此处方法名只能为post或者get等名称,这个名称就是接口类型def post(self, request):"""查询某一天的数据;此方法请求类型为post,根据urls.py中的配置,该接口地址为:/monitorMsg,传入参数方式以下三种都可以:json方式或者form-data或者x-www-form-urlencoded,request.data['datetime']方式都可以解析到入参的值:param request::return: 返回CAINIAO_MONITOR_MSG表中所有的异常信息"""# 如果前台通过form-data格式传入参数,则使用request.POST['key']此方法获取参数的值# datetime = request.POST['datetime']# 【推荐】如果前台通过json方式或者form-data或者x-www-form-urlencoded传入参数,则使用request.data['key']方法均可获取对应的valuedatetime = request.data['datetime']print(request.data)sql = "select * from CAINIAO_MONITOR_MSG t WHERE to_char(t.CREATE_TIME,'yyyy-MM-dd') like '%s' " % datetime# 连接数据库conn = cx_Oracle.connect('name', 'pwd', '10.*.*.*:1521/sid')# 创建游标cursor = conn.cursor()# 执行sql语句 cursor.execute(sql)# 提交数据 conn.commit()# 获取查询数据类型为listdata = cursor.fetchall()# 关闭游标 cursor.close()# 断开数据库连接 conn.close()# 新建空列表用来放数据msg_list = []# 遍历查询到的数据for i in data:# 创建空的字典,存放对应的字段信息msg_dict = {}# 将查询到的数据作为value对应到字典相应keymsg_dict['id'] = i[0]msg_dict['scenario_code'] = i[1]msg_dict['msg'] = i[2]msg_dict['status'] = i[4]# 将遍历的数据存放到list中 msg_list.append(msg_dict)# 定义最终的返回数据样式res_data = {'count': len(msg_list), 'data': msg_list}# 将res_data序列化为json对象,并返回return HttpResponse(json.dumps(res_data), content_type="application/json")
6、编写路由
urls.py
from django.contrib import admin from django.urls import path from monitor.views import MonitorMsgurlpatterns = [path('admin/', admin.site.urls),# 接口的url:http://127.0.0.1:8000/monitorMsgpath('monitorMsg', MonitorMsg.as_view()), ]
7、启动服务
python manage.py runserver
8、访问测试