如何DJANGO Web令牌和保存过程POST?

问题描述

我正在尝试在views.py上添加数据,我使用POSTMAN的POST方法在JSON正文上发送用户名密码参数。 正常情况下,该功能可以成功运行,如下所示:

json_str=((request.body).decode('utf-8'))
    json_data = json.loads(json_str)
    new_device = Device(id=json_data["id"],status=json_data["status"])
    try:
        new_device.save()
        resp_data = {
        'code': 200,"success": True
    }
        return JsonResponse(resp_data)
    except Exception as e:
        error_data = {
            "success": False,"error": str(e)
            }

        return JsonResponse(error_data)

在我的项目上启用djangorestframework_simplejwt软件包并成功运行后,我更改了urls.py链接,如下所示: path('add/',add_device)path('add/',add_device.as_view()) 在views.py上:

class add_device(APIView):
    permission_classes = (IsAuthenticated,)
    
    def get(self,request):
        
        json_str=((request.body).decode('utf-8'))
        json_data = json.loads(json_str)
        new_device = Device(id=json_data["id"],status=json_data["status"])
        try:
            new_device.save()
            resp_data = {
            'code': 200,"success": True
        }
            return JsonResponse(resp_data)
        except Exception as e:
            error_data = {
                "success": False,"error": str(e)
                }

            return JsonResponse(error_data)

但是现在,总是有json错误消息返回给我:

{
    "detail": "Method \"POST\" not allowed."
}

我该如何解决

感谢所有帮助。

解决方法

我找到了解决方案,用于:

def帖子(自身,请求,* args,** kwargs):

它有效。