Как использовать веб-токен DJANGO и сохранять процессы (POST)?

#django #web #token

#django #веб #токен

Вопрос:

Я пытаюсь добавить данные на views.py Я отправляю параметры имени пользователя и пароля в теле JSON с помощью метода POST от POSTMAN. Обычно функция работает успешно, как показано ниже:

 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."
}
  

Как мне это исправить?

Спасибо за всю помощь..

Ответ №1:

Я нашел решение, использовал:

def post (self, request, * args, **kwargs):

и это работает.