问题描述
我正在尝试在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):
它有效。