Django 自动生成api接口文档教程


Posted in Python onNovember 19, 2019

最近在写测试平台,需要实现一个节点服务器的api,正好在用django,准备使用djangorestframework插件实现。

需求

实现一个接口,在调用时,通过传递的参数,直接运行对应项目的自动化测试

环境

Python3.6 ,PyCharm,W7

项目结构

Django 自动生成api接口文档教程

功能实现

流程

Django 自动生成api接口文档教程

我们要做的就是实现以上流程

安装

pip install djangorestframework 
pip install markdown 
pip install django-filter # Filtering support

配置

INSTALLED_APPS = (
 ...
 'rest_framework',
)

编写代码(本次代码不涉及数据库操作,只简单的写一个api)

①:打开AutoApi/Api/views.py 编写如下代码

from django.http import JsonResponse, HttpResponseNotAllowed, HttpResponse
from django.views.decorators.csrf import csrf_exempt
from rest_framework.parsers import JSONParser
from rest_framework import status

@csrf_exempt
def run_job(request):
 # 判断请求头是否为json
 if request.content_type != 'application/json': 
  # 如果不是的话,返回405
  return HttpResponse('only support json data', status=status.HTTP_415_UNSUPPORTED_MEDIA_TYPE)
 # 判断是否为post 请求
 if request.method == 'POST':
  try:
   # 解析请求的json格式入参
   data = JSONParser().parse(request)
  except Exception as why:
   print(why.args)
  else:
   content = {'msg': 'SUCCESS'}
   print(data)
   # 返回自定义请求内容content,200状态码
   return JsonResponse(data=content, status=status.HTTP_200_OK)
 # 如果不是post 请求返回不支持的请求方法
 return HttpResponseNotAllowed(permitted_methods=['POST'])

②:打开AutoApi/Api/urls.py 编写如下代码

from django.conf.urls import url
from Api import views

urlpatterns = [
 url(r'^runJob/$',views.run_job),
]

③:打开AutoApi/AutoApi/urls.py 修改如下代码

ALLOWED_HOSTS = '*' # 修改为* 代码允许任意host


from django.conf.urls import url,include

urlpatterns = [
 url(r'^admin/', admin.site.urls),
 url(r'^',include('Api.urls')),# 新增
]

④:启动服务

python manage.py runserver 0.0.0.0:8080

Django 自动生成api接口文档教程

⑤:我们请求试试看

Django 自动生成api接口文档教程

以上就是简单的实现一个api ,其实开发说的接口就这么简单,没有那么神秘!

接下来把post 的数据env ,project,cases 解析出来传给对应的自动化测试入口函数,就可以实现通过接口请求,启动自动化测试的目的。

后续

实现接口调用自动化测试项目

实现异步接口

实现定时任务

这篇Django 自动生成api接口文档教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python数组条件过滤filter函数使用示例
Jul 22 Python
Python加pyGame实现的简单拼图游戏实例
May 15 Python
利用python获取Ping结果示例代码
Jul 06 Python
使用python将大量数据导出到Excel中的小技巧分享
Jun 14 Python
python多进程实现文件下载传输功能
Jul 28 Python
python pandas消除空值和空格以及 Nan数据替换方法
Oct 30 Python
python dict 相同key 合并value的实例
Jan 21 Python
TensorFlow获取加载模型中的全部张量名称代码
Feb 11 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
Feb 21 Python
PyTorch中clone()、detach()及相关扩展详解
Dec 09 Python
教你如何使用Python下载B站视频的详细教程
Apr 29 Python
再谈python_tkinter弹出对话框创建
Mar 20 Python
wxpython实现按钮切换界面的方法
Nov 19 #Python
Python性能分析工具Profile使用实例
Nov 19 #Python
使用apiDoc实现python接口文档编写
Nov 19 #Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 #Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 #Python
python 上下文管理器及自定义原理解析
Nov 19 #Python
浅析python中while循环和for循环
Nov 19 #Python
You might like
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
Angular的$http与$location
2016/12/26 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
Python编程中的反模式实例分析
2014/12/08 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python如何实现文本转语音
2016/08/08 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
python算法题 链表反转详解
2019/07/02 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
Java编程面试题
2016/04/04 面试题
房屋出售协议书
2014/04/10 职场文书
小学六年级学生评语
2014/04/22 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
听证会主持词
2015/07/03 职场文书
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis