如何从Django request.POST获取输入数据

时间:2019-04-27 03:06:20

标签: javascript python django reactjs django-rest-framework

我想从前端获取输入数据,以便可以从后端创建对象。这是我的输入请求:

return axios.post('http://127.0.0.1:8000/api/products/',{
   name: name,
   description: description,
   category: this.category
},
this.config
)
.then(res=>this.props.update(res.data))
.catch(err=>console.err(err));

其中名称,描述和类别是我的输入参数,而this.config只是令牌。

在后端,我正在使用Viewset处理所有请求。到目前为止,我有一个用于GET,但现在我想要一个用于POST。这是我的代码:

class ProductViewSet(viewsets.ModelViewSet):
    def list(self, request):
        user = request.user
        queryset = Product.objects.filter(user=user)
        serializer = ProductSerializer(queryset, many=True)
        return Response(serializer.data)
    def create(self, request):
        data = request.POST["name"]
        print("name",name)
        return Response("test")

我尝试了尝试从request.POST中提取信息的所有方法 我尝试了request.POST.get('name')request.POST['name']和其他东西。它们都返回None / KeyError。我在做什么错了?

1 个答案:

答案 0 :(得分:2)

使用request.data

name = request.data['name']

这种情况仅在DRF / Django从您的客户端接收数据的情况下适用。