Beispiel für Django-Klassen-basierte DeleteView
Kennt jemand oder kann jemand bitte produzieren Sie ein einfaches Beispiel von Django ' s class-based generic DeleteView? Ich möchte Unterklasse DeleteView und sicherzustellen, dass die aktuell angemeldeten Benutzer in den Besitz des Objekts, bevor es gelöscht wird. Jegliche Hilfe würde sehr geschätzt werden. Vielen Dank im Voraus.
InformationsquelleAutor der Frage Lockjaw | 2011-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine einfache:
Vorsichtsmaßnahmen:
DeleteView
nicht löschen aufGET
- Anfragen; dies ist Ihre Chance, um eine Bestätigung Vorlage (Sie können den Namen in dertemplate_name
class-Attribut) mit "ja, ich bin sicher" - Taste, diePOST
s zu dieser Ansichtdelete
Methode statt, überprüfen Sie die Berechtigungen nach derget_object
Aufruf und Rückkehr eine individuelle Antwort.success_url
class-Attribut, so dass der Benutzer bestätigen kann, dass das Objekt gelöscht wurde.InformationsquelleAutor der Antwort DrMeers
Habe ich im Grunde untergeordnetes einige der Generischen Class-Based-Views, genau das zu tun. Der wesentliche Unterschied ist, ich habe einfach herausgefiltert, die querysets. Ich kann nicht verbürgen für, ob diese Methode ist besser oder schlechter, aber es machte mehr Sinn für mich.
Fühlen Sie sich frei, zu ignorieren, die "MessageMixin" - das ist einfach da, einfach präsent-Nachrichten über das Messaging-Framework Django w/eine variable angegeben, die für jede Ansicht. Hier ist der code, den ich geschrieben habe für unsere Website:
Ansichten
Nutzung
Dann können Sie einfach erstellen Sie Ihre eigenen Ansichten zu verwenden, diese Art von Funktionalität. Zum Beispiel, ich bin nur, indem Sie in meine urls.py:
Formen
Wichtig zu beachten: ich überladen haben diese get_form_kwargs() Methoden, um meine Formulare mit einer Instanz von 'Anfrage'. Wenn Sie nicht möchten, dass das Request-Objekt, das an der Form, entfernen Sie einfach die überladenen Methoden. Wenn Sie Sie verwenden möchten, Folgen Sie diesem Beispiel:
Dies ist ein bisschen mehr als Sie bat, -- aber es hilft zu wissen, wie zu tun die selben für die Erstellung und Aktualisierung von Ansichten als gut. Diese gleiche Allgemeine Methodik könnte auch angewendet werden, um ListView & Detailansicht.
MessageMixin
Nur für den Fall jemand will, dass MessageMixin ich verwenden.
InformationsquelleAutor der Antwort Kurtis
Der einfachste Weg, dies zu tun ist, um den Vorfilter der queryset:
InformationsquelleAutor der Antwort Israel Teixeira
Ich würde vorschlagen, dass die beste (und einfachste) Weg, dies zu tun wäre, um die
UserPassesTestMixin
die Ihnen eine sauberere Trennung von Bedenken.Beispiel:
InformationsquelleAutor der Antwort Inti