Wiem, że istnieją odpowiedzi dotyczące Django Rest Framework, ale nie mogłem znaleźć rozwiązania mojego problemu.
Mam aplikację, która ma uwierzytelnianie i pewne funkcje. Dodałem do niego nową aplikację, która korzysta z Django Rest Framework. Chcę korzystać z biblioteki tylko w tej aplikacji. Chcę również wysłać żądanie POST i zawsze otrzymuję tę odpowiedź:
{
"detail": "CSRF Failed: CSRF token missing or incorrect."
}
Mam następujący kod:
# urls.py
from django.conf.urls import patterns, url
urlpatterns = patterns(
'api.views',
url(r'^object/$', views.Object.as_view()),
)
# views.py
from rest_framework.views import APIView
from rest_framework.response import Response
from django.views.decorators.csrf import csrf_exempt
class Object(APIView):
@csrf_exempt
def post(self, request, format=None):
return Response({'received data': request.data})
Chcę dodać API bez wpływu na bieżącą aplikację. Więc moje pytanie brzmi: jak mogę wyłączyć CSRF tylko dla tej aplikacji?