首页 > 解决方案 > Django Rest Framework:如何将数据发送到 request.data

问题描述

我在 Django Rest Framework 中使用基于类的视图构建了一个简单的 api,并且文档提到了 request.data ( https://www.django-rest-framework.org/tutorial/2-requests-and-responses/ )

from rest_framework.views import APIView
    class myView(APIView):
    def post(self, request):
        print(request.data)

当我尝试发送帖子请求时

  1. 卷曲:curl --data param1=val1&param2=val2 url
  2. 带有 post 的 djangos 浏览器界面(使用格式化的 url 和 post 选项
  3. 高级 Rest 客户端(chrome 插件)

所有三个的数据似乎都以 request.query_params 结尾。当我尝试打印 request.data 时,我得到一个空响应{}

我可以只使用 request.query_params,我只是好奇如何将数据转到 request.data,因为它在文档中进行了讨论

编辑:所以curl --data param1=val1&param2=val2 -X POST url将信息发送到 request.data (现在如果我说 request.query_params 如果得到空字典 {} 但 request.data 包含一个对象,即字典 query_params。)

标签: djangohttpdjango-rest-frameworkrequest

解决方案


curl请求没有添加-XPOST。添加这些


推荐阅读