Django class based post-nur Ansicht
Sorry, wenn dies eine triviale Frage, aber ich habe lange gesucht um für ganz irgendwann, und nicht in der Lage waren eine gute Umsetzung.
Kann mir jemand ein Beispiel geben, wie die Umsetzung einer post-nur Ansicht (kann mit Datei-uploads) in Django durch alle Unterklassen der generischen Ansichten?
Ich möchte erstellen Sie einen Endpunkt behandelt alle blog-post-Kommentar-Erstellung Logik. Das Kommentar-Formular eingebettet ist, auf meiner blog-Seite und so werden diese Daten an die url gesendet, als POST
.
- Können Sie bitte erklären, wieso der downvote? Gibt es nicht eine solche Frage/blog-post zur Verfügung, um die nach meinem besten wissen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
View
Klasse hat einhttp_method_names
Attribut, das listet die HTTP-Methoden, die Ansicht akzeptieren.Daher, Sie könnte Unterklasse beliebige generische Ansicht, die Sie mögen (zum Beispiel,
CreateView
), und legen Siehttp_method_names
so, dass nur POST-Anfragen sind erlaubt.Alternativ könnte Unterklasse
View
, und schreiben Sie Ihre eigenen post-Methode.In diesem Fall GET-Anfragen zurück
HttpResponseNotAllowed
Antwort, weil Sie nicht definiert haben, einget
Methode zum verarbeiten der GET-Anfragen.Könnten Sie versuchen, so etwas wie:
Aus der docs:
Also im wesentlichen, alle class-based view, die Sie erstellen, wo Sie definieren Sie nur
POST
Methode erlaubt nur eine POST-Anfrage.Ich denke, so etwas sollte funktionieren:
Können Sie auch dies tun, indem Sie mit einem CreateAPIView wenn Sie Django Rest Framework
http://www.django-rest-framework.org/api-guide/generic-views/#createapiview