tutorial framework example create django django-rest-framework

example - ¿Por qué me aparece "cookie CSRF no configurada" cuando se envía POST al framework Django REST?



django rest framework response (3)

Me aparece el error "No se configuró la cookie CSRF" al intentar enviar a una aplicación de prueba simple usando el marco Django REST. Lo he intentado con Django 1.4 y Django 1.6.2. Estoy usando el framework Django REST v 2.3.13.

He intentado usar el decorador @csrf_exempt , pero no ayuda.

Esta es una aplicación muy simple, sin registro / inicio de sesión de usuario, etc.

¿Alguna idea de por qué estoy recibiendo este error?

Actualización: he actualizado mi urls.py como se muestra a continuación y ahora está funcionando!

Aquí está mi código:

urls.py

from django.conf.urls import patterns, url from quickstart import views urlpatterns = patterns('''', url(r''^api_add/$'', views.api_add, name=''api_add''), )

views.py

from rest_framework import status from rest_framework.decorators import api_view from rest_framework.response import Response @api_view([''POST'']) def api_add(request): return Response({"test": ''abc''})

settings.py

INSTALLED_APPS = ( ''django.contrib.auth'', ''django.contrib.contenttypes'', ''django.contrib.sessions'', ''django.contrib.sites'', ''django.contrib.messages'', ''django.contrib.staticfiles'', ''rest_framework'', )

post.sh

curl -X POST -H "Content-Type: application/json" -d '' { "name": "Manager", "description": "someone who manages" }'' http://127.0.0.1:8000/api_add/



Use @csrf_exempt :

from django.views.decorators.csrf import csrf_exempt @api_view([''POST'']) @csrf_exempt def api_add(request): return Response({"test": ''abc''})

Actualización: nunca necesita csrf cheques, elimine el middleware. MIDDLEWARE_CLASSES en settings.py y elimine ''django.middleware.csrf.CsrfViewMiddleware'',


Lo resolví así:

@api_view([''POST'']) @csrf_exempt def add(request): ....

a:

@csrf_exempt @api_view([''POST'']) def add(request): .....