Erreur de méthode Django POST

J’ai une erreur d’erreur avec mon projet Django.

Donc, j’utilise Django Rest Framework

class CompaniesInviteView(APIView): def get(self, request, pk=None): return Response({}, status=status.HTTP_204_NO_CONTENT) def post(self, request, pk=None, **kwargs): print request.POST 

Urls:

 from django.conf.urls import patterns, url, include from views import * urlpatterns = patterns( '', url(r'^(?P\d+)/invite/?$', CompaniesInviteView.as_view(), name='companies'), ) 

Et quand je vais envoyer une requête POST:

 import requests r = requests.Session() data = { "users": [ { "first_name": "1", "last_name": "1", "email": "[email protected]", "password1": "123", "password2": "123" }, { "first_name": "12", "last_name": "12", "email": "[email protected]", "password1": "123", "password2": "123" } ] } print data reg = r.post('http://localhost:8000/api/companies/15/invite', data=data) 

Django me dit:

  2015-12-08 18:09:31,393 DEBUG fus.utils params (101) GET:  2015-12-08 18:09:31,393 DEBUG fus.utils params (102) POST:  

Donc, j’envoie

 { "users": [ { "first_name": "1", "last_name": "1", "email": "[email protected]", "password1": "123", "password2": "123" }, { "first_name": "12", "last_name": "12", "email": "[email protected]", "password1": "123", "password2": "123" } ] } 

Je reçois

 {u'users': [u'password1', u'first_name', u'last_name', u'email', u'password2', u'password1', u'first_name', u'last_name', u'email', u'password2']} 

Et je ne sais pas pourquoi. Est-ce que quelqu’un peut m’aider? Peut-être que quelqu’un sait comment résoudre ce problème

Dans les requêtes, vous devez utiliser json au lieu de data comme:

 reg = r.post('http://localhost:8000/api/companies/15/invite', json=data) 

et pour accéder aux données post, vous devez utiliser request.data

 class CompaniesInviteView(APIView): def get(self, request, pk=None): return Response({}, status=status.HTTP_204_NO_CONTENT) def post(self, request, pk=None, **kwargs): print request.data