Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python DJango rest框架createapiview_Python_Django_Django Rest Framework - Fatal编程技术网

Python DJango rest框架createapiview

Python DJango rest框架createapiview,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在使用Django rest framework CreateAPIView创建一些数据,下面是视图 class CompanyCreateApiView(CreateAPIView): def post(self, request, *args, **kwargs): print 'request ==', request for each in args: print 'args ==', each for

我正在使用Django rest framework CreateAPIView创建一些数据,下面是视图

class CompanyCreateApiView(CreateAPIView):

    def post(self, request, *args, **kwargs):
        print 'request ==', request
        for each in args:
            print 'args ==', each
        for each in kwargs:
            print 'keargs ==', each
        import json
        data=json.dumps({'status':'success'})
        return Response(data, status=status.HTTP_200_OK)
现在,我使用python请求模块调用这个视图集,并且没有看到post数据打印在*Args或**kwargs参数中

**


**

您不会在这些页面中看到任何帖子数据;相反,您将在
request.data
中看到它。如以下文件所述:

返回请求正文的解析内容。这与标准request.POST和request.FILES属性类似,只是:

  • 它包括所有解析的内容,包括文件和非文件输入
  • 它支持解析除POST之外的HTTP方法的内容,这意味着您可以访问PUT和PATCH请求的内容
  • 它支持REST框架灵活的请求解析,而不仅仅是支持表单数据。例如,处理传入JSON数据的方式与处理传入表单数据的方式相同

你看不到任何回应,因为它们是空的,就像

for item in []:
   print item
它不能迭代空数据,但如果您在url中发送值:

url(r'^/api/create-company-profile/(?P<name>\w+)/$', CompanyCreateApiView.as_view()),
url(r'^/api/create company profile/(?P\w+/$),companycreateapiew.as_view()),
kwargs将具有以下值
{“name”:comany_name}

为了检索使用
request.data
的请求正文中发送的数据,您还可以在internet上找到一些示例,例如
request.data
request.QUERY\u PARAMS
,但在较新版本的django中它已被弃用,并被
request.data

url(r'^/api/create-company-profile/(?P<name>\w+)/$', CompanyCreateApiView.as_view()),