Ich habe eine Seite mit einem POST-Formular, die eine Aktion auf eine URL festgelegt haben.
d.h nehmen URL dieser Website ist /form_url/
: .. django Display-Nachricht nach dem POST-Formular senden
Der Blick in /submit_url/
der Formulardaten kümmern. Danach möchte ich die gleiche Seite des Formulars mit einer Erfolgsmeldung zurückgeben. In der Ansicht, die auf das POST-Formular achten, verwende ich HttpResponseRedirect
, um die Formulardaten aus dem Browser zu "löschen". Aber auf diese Weise kann ich eine Nachricht nicht in der Formularseite angezeigt werden, es sei denn ich etwas tun:
return HttpResponseRedirect("/form_url/?success=1")
und dann in der Vorlage für diesen Parameter überprüfen. Ich mag diesen Weg nicht, denn wenn der Benutzer die Seite aktualisiert, sieht er immer noch die Erfolgsmeldung.
Ich habe festgestellt, dass in der Django Admin-Site, das Löschen/Hinzufügen von Objekten verwendet Redirect nach dem Senden POST, und immer noch eine Erfolgsmeldung angezeigt irgendwie. Wie?
Ich habe schon kurz gesehen django „Messaging“ app, aber ich möchte wissen, wie es zuerst arbeiten ..
Aha. Ich dachte auch. Ich versuche dies zu tun, ohne die Sitzung zu benutzen. – user3599803