Wie übergibt man eine variable zwischen Kolben-Seiten?
Angenommen, ich habe folgenden Fall;
@app.route('/a', methods=['GET'])
def a():
a = numpy.ones([10,10])
...
return render_template(...) # this rendered page has a link to /b
@app.route('/b', methods=['GET'])
def b():
print a
....
In der redered Seite gibt es einen link, der leitet die Seite /a /b. Ich versuchen Sie, geben Sie die variable a Seite /b wiederzuverwenden. Wie sollte ich das tun-Kolben-app? Brauche ich für die Nutzung-Sitzung oder gibt es eine andere Lösung??
- Was ist die Natur der Informationen, die Sie weitergeben möchten? Man könnte hinzufügen, ein GET-parameter an den link zur Seite
b
oder Sie speichern könnte die in der Bildung in der session auf der client-Seite, oder Sie können speichern Sie es als Zustand auf der server-Seite. Um zu entscheiden, welche wy Recht ist, müssten wir wissen mehr über das, was Sie versuchen zu erreichen. - wie kann ich get-parameter. Ich denke, das ist die beste Lösung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie übergeben möchten einige python-Wert um, dass die Benutzer nicht brauchen, um zu sehen oder die Kontrolle über Sie können die Sitzung:
Die Sitzung verhält sich wie ein dict und nach JSON serialisiert. So kannst du alles, was das JSON serialisierbar in der Sitzung. Beachten Sie jedoch, dass die meisten Browser nicht unterstützen, wird ein Sitzungs-cookie, die größer als ~4000 bytes.
Sollten Sie vermeiden, dass große Mengen von Daten in der session, da Sie, um gesendet werden zu und von der client jede Anfrage. Für große Datenmengen verwenden Sie eine Datenbank oder andere Daten zu speichern. Sehen Sind Globale Variablen, thread-sicher im Kolben? Wie kann ich Daten zwischen den requests? und Speichern großer Daten oder eine Verbindung pro Fläschchen Sitzung.
Wenn Sie möchten, übergeben Sie den Wert aus einer Vorlage, die in einem url verwenden, können Sie ein query-parameter:
produzieren die url:
gelesen werden kann von b:
Den link zur route
/b
in der Vorlage für/a
hätte query-Parameter Hinzugefügt, die Sie Lesen konnte, in die route/b
. Alternativ können Sie auch speichern Sie den Wert füra
in einer session Variablen zugreifen, Sie zwischen den Ansichten.