Django/DRF - 405-Methode nicht erlaubt, auf die DELETE-operation

Arbeite ich mit zwei dev-Server auf meinem lokalen Rechner (Knoten & django ' s).

Habe ich django-cors-Header, um das Projekt zu ermöglichen, alle origins & Methoden (auf dev) mit den folgenden Einstellungen :

CORS_ORIGIN_ALLOW_ALL = 'ALL'
CORS_ALLOW_METHODS = (
        'GET',
        'POST',
        'PUT',
        'PATCH',
        'DELETE',
        'OPTIONS'
    )

Bin ich immer 405, wenn Sie versuchen zu LÖSCHEN.
Blick auf die Antwort-Header

HTTP/1.0 405 METHOD NOT ALLOWED
Date: Mon, 03 Nov 2014 10:04:43 GMT
Server: WSGIServer/0.1 Python/2.7.5
Vary: Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Access-Control-Allow-Origin: *
Allow: GET, POST, HEAD, OPTIONS

Beachten Sie, dass DELETE & PATCH /PUT sind nicht in der erlaubten Liste " Methoden.

Gibt es etwas, was fehlt in meiner Konfiguration ?

  • Sieht dein Blick implementieren Sie diese Methoden? Verwenden Sie ModelViewSet? Mischungen, ApiView?
  • gute alte viewsets.ModelViewSet - tests einwandfrei laufen.
  • Welche Methoden sind zulässig, die in Ihrem Blick? Aufgrund docs CORS_ALLOW_METHODS definieren Sie nur Methoden, die weltweit verwendet werden können, aber nicht hinzufügen es anzeigen automatisch. Eine weitere Sache, die CORS_ORIGIN_ALLOW_ALL muss ein boolescher Wert sein, nicht als string.
  • You ' r Recht - es ist ein boolean - geändert, Gleiches Ergebnis. Ich denke, ich bin ein wenig verwirrt über den Unterschied zwischen global-und view-Ebene CORS-Definitionen. Tun Sie Geist erweitern, wie kann ich LÖSCHEN auf eine bestimmte Ansicht über die ModelViewset ? die delete-Methode funktioniert im test, so muss die Ansicht erlauben es aber die CORS-Header nicht aktualisiert, die in der Reaktion (was ich zwar djagno-cors-header soll das tun,... )
InformationsquelleAutor haki | 2014-11-03
Schreibe einen Kommentar