Ich benutze Django integrierte DeleteView und ich habe einen Wert auf das success_url
Attribut zugewiesen. Jetzt in meiner Vorlage, trigne ich diese Ansicht über JQuery '$ .post() -Methode. Wenn das Element gelöscht wird, werde ich nicht an die success_url
weitergeleitet. Nach einiger Suche habe ich festgestellt, dass es ein Problem der AJAX Post-Methode scheint, die die Umleitung ignoriert.Umleiten nach AJAX Post in Django
Ich habe es behoben, indem ich eine Funktion hinzugefügt habe, um window.location="#myRedirectionURL"
als dritten Parameter von $.post()
in JQuery zu setzen.
Allerdings scheint dieser Weg nicht sehr Django. Im Wesentlichen löst es das Problem vom Aspekt von AJAX anstelle von Django. Außerdem ist die success_url
in DeleteView nutzlos (Sie müssen aber immer noch success_url
einen Wert zuweisen, sonst wird Django einen Fehler auslösen).
Also ist es der richtige Weg, um weitergeleitet zu werden, wenn Sie über AJAX posten? Gibt es einen besseren Weg?
Vielen Dank.
Ich würde den 'location.href = '# myRedirectionURL'' js Code innerhalb der success_url Schablone mit einer' setTimeout' Verzögerung ausführen, während eine nette Mitteilung wie "das Löschen war okay" – abidibo