Raspberry Pi / HTML: Gibt es eine Möglichkeit, automatisch zur Haupt-URL zurückzukehren?
Hi,
ich habe einen Webserver auf dem Raspberry Pi mit HTML und Python (Jinja und Flask).
Auf dem Webserver kann man den Zustand von einem Relai über einen Impuls ändern und über einen Türkontakt sehen, ob es geklappt hat. Das Problem ist Folgendes:
Wenn ich den Raspberry Pi auf dem Webserver aufrufe, steht da 000.000.000.00 (die IP). Da gibt es einen Button für den Impuls, dann wechselt er aber auf die URL (000.000.000.00/on). Und da es eine Zeitverzögerung gibt, bis der Button auslöst, muss man die Seite neu laden. Wenn ich die Seite aber neu lade, schaltet er wieder, weil er ja immer noch auf der on-URL ist.
Gibt es eine Möglichkeit, automatisch zur Haupt-URL zurückzukehren?
1 Antwort
Setze einen Header "Cache-Control: private, max-age=0, no-cache" und ggfs. noch "Expires: 0" um das Caching zu verhindern.
Wenn /on aufgerufen wird, führe deinen Aktion durch und gebe dann direkt den Header "Location: /" mit Status 302 (statt der Seite aus) aus, um wieder auf die Startseite zu kommen.
Sinnvoll ist es auch, für den Aufruf von /on POST, also ein Formular in HTML zu verwenden.
Ich habe leider von Python zu wenig Ahnung, kann dir daher nicht helfen, wie du dem sagst, Header mitzusenden bzw. den HTTP Status zu setzen.
Lt. Suchmaschine geht der Redirect mit flask.redirect('/',302, 'Foo')
Wenn du den Respose mit resp = make_response erstellst, kannst du die Header mit resp.headers['Cache-Control'] = 'private, max-age=0, no-cache' setzen.
Suche halt mal in der Doku von Flask, das steht da sicher drin.
Naja Ich verstehe Bahnhof aber Python kommuniziert über Jinja mit Html