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、访问测试

转载于:https://www.cnblogs.com/gcgc/p/11541628.html

python:使用Djangorestframework编写post和get接口相关推荐

  1. 使用python编写一个完整的接口自动化用例

    使用python编写一个完整的接口自动化用例 以聚合数据的 查询天气接口为例: import requestsclass HttpRequests: def __init__(self,url, pa ...

  2. 使用Python编写Prometheus监控metrics接口

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 要使用python编写Prometheus监控,需要你先开启Prometheus集群.可以参考https://blog.csdn.net/luanpe ...

  3. Python中如何编写接口,以及如何请求外部接口

    您好,我是码农飞哥,感谢您阅读本文!本文主要介绍Python中如何请求外部接口以及如何通过Flask框架定义接口. 文章目录 引入requests库 Get请求 Post请求 以form表单提交的方式 ...

  4. Python快速使用jira模块调用Jira接口

    Python快速使用jira模块调用Jira接口 JIRA介绍: JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作 ...

  5. Python零基础速成班-第12讲-Python获取网络数据Socket,API接口,网络爬虫Crawler(制作弹幕词云)

    Python零基础速成班-第12讲-Python获取网络数据Socket,API接口,网络爬虫Crawler(制作弹幕词云) 学习目标 获取网络数据Socket API接口 网络爬虫Crawler(制 ...

  6. Python 工匠:编写条件分支代码的技巧

    『Python 工匠』是什么? 我一直觉得编程某种意义上是一门『手艺』,因为优雅而高效的代码,就如同完美的手工艺品一样让人赏心悦目. 在雕琢代码的过程中,有大工程:比如应该用什么架构.哪种设计模式.也 ...

  7. php写简单接口_使用PHP如何编写简单的App接口

    这篇文章主要介绍了使用PHP编写简单的App接口的一些个人的步骤以及经验总结,有需要的小伙伴可以参考下 本篇是笔记尝试写的第一个PHP接口,并在iOS开发中尝试应用测试.今天给大家分享如何自己写接口来 ...

  8. 编写python程序_如何进行Python程序的编写

    一.使用Python自身提供的交互式解释器 在Linux.Windows.Mac OS的命令行窗口或Shell窗口,执行python命令,启动Python交互式解释器.交互式解释器会等待用户输入Pyt ...

  9. python requests库api_Python+requests库发送接口入参为xml格式的接口请求

    一)接口入参准备: 入参: <?xml version="1.0" encoding = "UTF-8"?> duoceshi 123456 DwO ...

最新文章

  1. React 项目----内联样式style的使用 (12)
  2. ismember--检测集合中的元素
  3. ElementUI的表单验证及常用规则
  4. java des加密解密_JAVA和c# 之间数据通讯时通过DES进行加密解密
  5. cvpr 深度估计_干货 | 2019 到目前为止的深度学习研究进展汇总
  6. sqoop导出solr数据_Apache Atlas - 强大的元数据管理工具
  7. Java的成员变量(全局变量)和局部变量以及构造方法的使用以及详解
  8. python找重复元素_Python笔记(二)查找重复元素
  9. 工程实践线切割3B代码参考
  10. 华为云挂载磁盘及初始化数据盘(Linux)
  11. 为串的模式匹配。模式匹
  12. 微信 Android 模块化架构重构实践
  13. CPU-Z查看内存条信息
  14. 用芯弹一首《大加洛普舞曲》:从AI-ISP,透视vivo的双芯之路
  15. 最好用的 Base64 在线工具
  16. MySQL中的升序降序以及字段的升序降序
  17. css是button和输入框保持在同一行
  18. 二级MySQL,未来教育MySQL题库,15套试卷,sql题答案。
  19. 德国十大电商都有谁?
  20. 11g v$active_session_history的列说明

热门文章

  1. shell之引号嵌套引号大全
  2. 移动pc常用Meta标签
  3. erlang下lists模块sort(排序)方法源码解析(二)
  4. Java的Servlet、Filter、Interceptor、Listener
  5. Oracle自动性能统计
  6. 欧拉路HDU3018
  7. Android Studio 错误集
  8. jmeter学习笔记(一)
  9. 删除.svn文件夹方法(转)
  10. linux安装mysql 5.6.33