Redirect zurück in Flask

8

Ich habe eine DB-Tabelle namens Item. Artikel hat ein status -Attribut, das entweder

sein kann %Vor%

Auf meiner Website habe ich zwei Ansichten, die Tabellen zu Item zeigen.

  • In der Ansicht 1 werden alle Elemente angezeigt (mit einer Statusspalte).
  • Anzeigen 2 nur zeigt Elemente mit dem Status todo .
  • an

Je nach Status des Elements gibt es bestimmte Aktionen, die ein Benutzer ausführen kann ("zum Todo gehen", "zum Ausführen", "zum Ende").

Wenn Sie View 1 und View 2 in Betracht ziehen, haben beide gemeinsam, dass sie Elemente mit dem Status todo enthalten. Also auf beiden habe ich einen Button, der auf eine URL namens

verweist %Vor%

where id - Der Status des Elements ist auf "doing" gesetzt.

Nun möchte ich, dass der Benutzer zurück zu der Stelle geleitet wird, an die er geklickt hat (Ansicht 1 oder Ansicht 2).

Meine Fragen sind:

  1. Wie macht man das mit Flask? ich fühle Ссылка ist nicht ganz das, was ich brauche, weil ich hier keine POST Anfrage mit einem Formular habe. (sollte ich?)
  2. Mache ich das richtig oder gibt es eine Konvention, wie man das normalerweise löst?
kadrian 11.01.2013, 11:18
quelle

1 Antwort

23

Ich benutze die Hilfsfunktion, die hier empfohlen wird: Ссылка

%Vor%

Verwenden Sie es in der Ansicht

%Vor%

Ohne irgendwelche Parameter wird der Benutzer dorthin zurückgeleitet, wo er hergekommen ist ( request.referrer ). Sie können den get-Parameter next hinzufügen, um eine URL anzugeben. Dies ist zum Beispiel nützlich für oauth.

%Vor%

Ich habe auch eine Standardansicht hinzugefügt, falls aus irgendeinem Grund kein Referrer vorhanden sein sollte

redirect_url ('. eine andere Ansicht')

Das Snippet, das Sie verlinkt haben, macht dasselbe, aber sicherer, indem sichergestellt wird, dass Sie nicht auf die Seite eines böswilligen Angreifers auf einem anderen Host weitergeleitet werden können.

    
Smoe 11.01.2013, 14:15
quelle

Tags und Links