django编写外部调用接口(api_view)

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调用结果
在这里插入图片描述


版权声明:本文为sinat_18866031原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。