使用Python3 Django2开发简单接口

使用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 则打印方法错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值