nel pallone, posso fare questo:redirect mentre il passaggio di argomenti
render_template("foo.html", messages={'main':'hello'})
E se foo.html contiene {{ messages['main'] }}
, la pagina mostrerà hello
. Ma cosa succede se c'è un percorso che porta a foo:
@app.route("/foo")
def do_foo():
# do some logic here
return render_template("foo.html")
In questo caso, l'unico modo per arrivare a foo.html, se voglio che la logica accada in ogni caso, è attraverso un redirect
:
@app.route("/baz")
def do_baz():
if some_condition:
return render_template("baz.html")
else:
return redirect("/foo", messages={"main":"Condition failed on page baz"})
# above produces TypeError: redirect() got an unexpected keyword argument 'messages'
Quindi, come posso ottenere che la variabile messages
venga passata alla route foo
, in modo che non debba semplicemente riscrivere lo stesso codice logico che quella route calcola prima di caricarla?
+1, il messaggio che lampeggia è sicuramente la strada da percorrere –
array numpy restituisce typeError con sessione, non è serializzabile JSON – erogol
Il problema con la sessione qui è che si può avere una condizione di competizione: se qualcuno richiede la stessa pagina due volte contemporaneamente, potrebbe ricevere i messaggi su quella sbagliata. – bfontaine