Ich arbeite an einer Web-App, wo ich ein Shell-Skript ausführen und Live-Ausgabe durch Rückgabe von Response-Objekt drucken. Gibt es eine Möglichkeit, auf eine andere Seite umzuleiten, sobald das Shell-Skript fertig ist?Flask: Redirect nach Rückgabe eines Flask Response-Objekts
@app.route("/setup", methods=['POST', 'GET'])
def setup():
def inner():
command = ["./test.bash", "exam"]
proc = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
for line in iter(proc.stdout.readline,''):
yield line.rstrip() + '<br/>\n'
return Response(inner(), mimetype='text/html')
# After this I want to redirect to another page say success.html
Oder wenn es einen Weg gibt, kann ich eine Vorlage im Response-Objekt gehören, kann ich einige Tasten sind auf der Seite ich will zu navigieren.
Ich mag auch etwas tun wollen:
for line in iter(proc.stdout.readline,''):
if line == "Success":
# Redirect to success.html after returning Response object with script output
else:
# Redirect to error.html after returning Response object with script
Ausgang
Ist das möglich? Jede Hilfe wird geschätzt. Danke im Voraus.
ist Sie können eine HTML-Seite zurückbringen ODER umleiten zu einer anderen Seite. Wenn Sie beides versuchen, kann der Benutzer das ursprüngliche HTML aufgrund der sofortigen Umleitung nicht sehen. –
Meinst du, du willst ein kontinuierliches Skript ausführen und Live-Ausgabe von ihm auf der Seite bekommen? –
@AndrewCherevatkin: Ich bin in der Lage, Live-Ausgabe von dem Skript zu bekommen. Aber sobald das Skript läuft, möchte ich auf eine Seite umleiten. –