Django 自动生成api接口文档教程
作者:Op小剑 发布时间:2022-09-11 06:40:26
标签:Django,生成,api文档
最近在写测试平台,需要实现一个节点服务器的api,正好在用django,准备使用djangorestframework插件实现。
需求
实现一个接口,在调用时,通过传递的参数,直接运行对应项目的自动化测试
环境
Python3.6 ,PyCharm,W7
项目结构
功能实现
流程
我们要做的就是实现以上流程
安装
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
⑤:我们请求试试看
来源:https://blog.csdn.net/xie_0723/article/details/78219007


猜你喜欢
- JavaScript中访问节点对象的方法有哪些? var obj = document.getElementById('fdafda
- 下面的代码中python2与python3的print使用区别,大家注意一下。python3需要加()才行。语法:for循环的语法格式如下:
- ZeroClipboard.js是一个支持复制和粘贴的JavaScript插件,目前官方已经到2.x的版本了,但不支持IE9以下的浏览器,而
- 冻结的集合前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是:&
- 我考虑到了x的所有n次的情况,下面的代码有可能是不完美的,但是肯定是对的。def aaa(x,n): A=isinstance(
- vue-admin-element项目突然就起不来INFO Starting development server...&nbs
- 使用RS232串口线或者是RS232转USB的这一类的接口,会需要com口作为接口来进行输入输出调式,写了个脚本来控制COM口,用到了Pyt
- 本文实例讲述了Python pandas RFM模型应用。分享给大家供大家参考,具体如下:什么是RFM模型根据美国数据库营销研究所Arthu
- 文件的数据是存放于硬盘上的,因而只存在覆盖、不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,具体的说有两种实现方式。一、方式
- ?? 罪魁祸首一个常见的场景是在表格行内以el-popover的形式对行内信息进行一些业务操作。在表格分页10条、20条的情况下页面运行良好
- python如何修改索引和行列修改索引修改索引之前是自动生成的索引:使用set_index('以xx字段为索引',inpla
- 引言使用python进行接口测试时常常需要接口用例测试数据、断言接口功能、验证接口响应状态等,如果大量的接口测试用例脚本都将接口测试用例数据
- 写在前面SciPy的optimize模块提供了许多数值优化算法,下面对其中的一些记录。非线性方程组求解SciPy中对非线性方程组求解是fsl
- 如下所示:class bcolors: HEADER = '\033[95m' OKBLUE = &
- Django中的静态文件夹static在创建好Django项目时默认是没有的,需要我们手动自己去创建,static文件夹里主要存放一些能暴露
- <P><HTML><HEAD><TITLE>javascriptboy</TITLE&
- 异常对象Python中遇到错误后,会引发异常。Python中使用异常对象来表示异常情况。如果异常对象未被处理或者捕捉,程序就会用所谓的回溯(
- 最近老板叫做一个数据查重的小练习,涉及从一个包含中文字段的文件中提取出其中的中文字段并存储,使用php开发。中间涉及到php正则表达式中文匹
- 在 MySQL 中,数据库和表对应于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在
- 英文原文:http://www.456bereastreet.com/archive/200601/css_3_selectors_expl