Ich benutze mit Hilfe von Django Rest Framework Browsable API mit ModelViewSet CRUD-Aktionen zu tun und wollen permissions.IsAuthenticatedOrReadOnly, aber wenn ich geloggt bin und versuche zu löschen oder PUT ich "detail": "CSRF Failed: CSRF token missing or incorrect."
"CSRF-Token fehlt" mit PUT/DELETE Meathod Rest-Framework
Meine Ansicht wie folgt aussieht
class objViewSet(viewsets.ModelViewSet):
queryset = obj.objects.all()
serializer_class = objSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
Settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
),
Serializer i Obwohl s nur
class ObjSerializer(serializers.ModelSerializer):
class Meta:
model = Obj
wenn ich permission_classes löschen (so die Standard-allowAny auslöst) Ich kann es ganz gut funktioniert.
Was ich will
der Lage sein, nur PUT/DELETE, wenn ich authentifiziert bin. Ich weiß nicht, wie CSRF-Token zu senden, wenn alles automatisch passiert (Modalviewset funktioniert die ganze Arbeit)
Sie möchten csrf Checks global entfernen? oder separate nicht csrf Ansichten? – itzMEonTV
Für den Fall, dass Sie keine bessere Lösung hier finden, gehört mir: Ich wette, Sie verwenden 'rest_framework.authentication.SessionAuthentication' als eine der Authentifizierungsklassen. Entfernen Sie es aus den Einstellungen und alles sollte korrekt funktionieren. –