Django Rest框架:带有request.d的问题

2024-05-02 01:25:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Django rest框架来实现我的服务器。当我试图发帖时,出现了以下错误。

'WSGIRequest' object has no attribute 'data'

这是view.py的代码

from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from whiteboards.models import Whiteboard, Path, Point
from whiteboards.serializers import WhiteboardSerializer

@api_view(['GET', 'POST'])
def whiteboard_list(request):
   """
   List all whiteboards, or create a new whiteboard.
   """


   if request.method == 'GET':
       print('GET')
       whiteboards = Whiteboard.objects.all()
       serializer = WhiteboardSerializer(whiteboards, many=True)
       return Response(serializer.data)

   elif request.method == 'POST':
       print('POST')
       d = request.data
       print('data broke')
       serializer = WhiteboardSerializer(data=d)
       print("created serializer")
       if serializer.is_valid():
           serializer.save()
           print("It's valid")
           return Response(serializer.data, status=status.HTTP_201_CREATED)
       return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

Tags: fromimportviewrestdatagetresponserequest
2条回答

版本3(最新)-请求中,数据已替换为request.data

user = dict(
                    full_name=request.data['full_name'],
                    password=request.data['password'],
                    email=request.data['email']                
                )

在版本2中-它是request.DATA

user = dict(
                full_name=request.DATA['full_name'],
                password=request.DATA['password'],
                email=request.DATA['email']          
            )

尝试request.DATA而不是request.data

相关问题 更多 >