1、环境准备
python3
django>=2.2
djangorestframework (pip install djangorestframework)
2、settings.py文件
需要加这个配置 APPEND_SLASH=False, 不然会报如下错误
2、urls.py文件
增加调用链接 path(‘middleman/cback/’, views.middleman_cback, name=‘middleman_cback’)
# -*- coding:utf-8 -*-
from django.urls import path, re_path
from . import views
app_name = 'TriggerMmTest'
urlpatterns = [
path('index/', views.index, name='index'),
path('middleman/cback/', views.middleman_cback, name='middleman_cback')
]
3、view.py文件
from django.http import HttpResponse, JsonResponse
from rest_framework.decorators import api_view
# 增加api_view装饰器
@api_view(['POST'])
# 定义调用的方法
def middleman_cback(request):
"""执行完成之后回调"""
try:
# 获取传过来的数据
status = request.POST['status']
log_url = request.POST['log_url']
server_id = request.POST['server_id']
# 访问数据库
obj = ProjectInfo.objects.get(group_project_name=server_id)
print(obj)
# 其他代码调用逻辑,根据需要来写
if "Fail" in status or "success" in status:
from TriggerMmTest.core.send_emails import MyEmail
send_email = MyEmail(obj.to_list.split(","))
send_email.send(status, log_url, server_id)
return JsonResponse({'status': 200, 'message': '成功'})
except Exception as e:
print("调用失败:%s" % e)
return JsonResponse({'status': 500, 'message': '失败'})
postman调用结果