使用Python3 Django2开发接口
由于想学习接口自动化,学习虫师的接口自动化过程中发现是从django开发,然后再做接口自动化,自己开发一个接口然后再进行接口自动化测试可以更方便更深入了解何为接口测试,这次就选择一个简单的POST格式进行开发,简单易懂,由于本人也是小白,代码会一步一步分析,那么就开始吧!
环境需求
python3.X
pycharm
接口功能:将传入参数a和b字符串相加,返回结果
1.新建一个django项目
可以在命令行建立
也可以在pycharm终端建立
2.在Post/Post 文件夹下 创建一个view.py文件
3.在view.py文件中写入代码
from django.http import HttpResponse
import json
#定义功能
def add_args(a,b):
return a+b
#接口函数
def post(request):
if request.method == 'POST':
dic = {}
#判断是否传参
if request.POST:
a = request.POST.get('a',0)
b = request.POST.get('b',0)
#判断参数中是否含有a和b
if a and b :
res = add_args(a,b)
dic['number'] = res
dic = json.dumps(dic)
return HttpResponse(dic)
else:
return HttpResponse('输入错误')
else:
return HttpResponse('输入为空')
else:
return HttpResponse('方法错误')
4.打开urls.py文件 ,配置访问地址
from django.contrib import admin
from django.urls import path
from .import view
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/',view.post),
]
在setting.py文件中注释掉这一行
5.启动服务
启动项目命令,默认是8000端口,可以使用8001防止端口冲突
python manage.py runserver 0.0.0.0:8001
6.测试接口是否可以调用
新建一个test.py文件
import requests
res = requests.post('http://127.0.0.1:8000/hello/',data = {'a':3,'b':4})
print(res.text)
运行文件结果:
成功
代码解析,有理解错误地方请指出
from django.http import HttpResponse #从django.http导入 HttpResponse
import json # 导入json模块
#定义功能
def add_args(a,b): #定义函数,函数可以传入a,b参数
return a+b #将结果 返回到调用的地方
#接口函数
def post(request): #定义函数 传入request参数
if request.method == 'POST': #先判断request的方法是否为‘POST’
dic = {} #定义一个空字典 dic
#判断是否传参
if request.POST: #判断 requests是否有传参 如果有传参
a = request.POST.get('a',0) # 变量a的值等于get方法取得的值
b = request.POST.get('b',0) #变量b的值等于get方法取得的值
#判断参数中是否含有a和b
if a and b : #如果a和b同时存在
res = add_args(a,b) #变量res等于 add_args 函数
dic['number'] = res #dic字典以nember为KEY 的value是 res传的参数
dic = json.dumps(dic) #dic字典转换为json格式
return HttpResponse(dic) # 返回给HttpResponse 并传入参数dic
else:
return HttpResponse('输入错误') #果a和b任何一项输入为空则打印输入错误
else:
return HttpResponse('输入为空') #如果a和b未传参则打印输入为空
else:
return HttpResponse('方法错误') #如果请求方法不是post 则打印方法错误