Ich möchte auf meinem Raspi mit Python 3, Flask und Bootstrap eine Webseite aufbauen. Dabei möchte ich gerne mit Buttons verschiedene Graphen interaktiv anzeigen lassen. Ich habe 3 Buttons nebeneinander, einen für Tag, einen für Woche und einen für den Monat. Das erzeugen des jeweiligen Graphen (PNG-Datei) klappt hervorragend, nur leider wird immer nur das erste Bild angezeigt. Wenn man ein zweites sehen will, wird es erzeugt, aber nicht angezeigt. Wenn ich im Browser dann [STRG]+F5 drücke lädt der Browser das korrekte Bild.
Kann ich mit irgendeinem Befehl in Python in der Übergabe an Flask den Cache im Browser löschen?
Hier der Seitencode:
Code: Alles auswählen
<div class="container">
<h4>Temperatur</h4>
<div class="container">
<form method="post">
<input class="btn btn-primary" type="submit" name="Tag" value="Temp Tag">
<input class="btn btn-primary" type="submit" name="Woche" value="Temp Woche">
<input class="btn btn-primary" type="submit" name="Monat" value="Temp Monat">
</form>
</div>
{% if bildt == 1 %}
<div class="container">
<p></p>
<img src="../static/img/Temperatur.png" alt="Temperaturverlauf">
</div>
{% endif %}
</div>
Code: Alles auswählen
if request.method == 'POST':
if request.form.get('Tag') == 'Temp Tag':
ret = rrdtool.graph('./static/img/Temperatur.png', '-s', 'now - 1 day', '-e', 'now', '--vertical-label', 'in °C', '--title', 'Temperatur Tag', '-l', '16.0', '-u', '22.0', 'DEF:taggraph=/home/pi/Sensor/TemperaturAufzeichnen.rrd:temp:AVERAGE', 'VDEF:tagmax=taggraph,MAXIMUM', 'VDEF:tagmin=taggraph,MINIMUM', 'LINE1:taggraph#FF0000:Temperatur', 'GPRINT:tagmax:"Max\: %2.1lf°C"', 'GPRINT:tagmin:"Min\: %2.1lf°C"')
bildt = 1
return render_template('temperatur.html', messung=datum, feuchtigkeit=f, temperatur=t, bildt=bildt, bildf=bildf)
elif request.form.get('Woche') == 'Temp Woche':
ret = rrdtool.graph('./static/img/Temperatur.png', '-s', 'now - 1 week', '-e', 'now', '--vertical-label', 'in °C', '--title', 'Temperatur Woche', '-l', '16.0', '-u', '22.0', 'DEF:wochegraph=/home/pi/Sensor/TemperaturAufzeichnen.rrd:temp:AVERAGE', 'LINE1:wochegraph#FF0000:Temperatur')
bildt = 1
return render_template('temperatur.html', messung=datum, feuchtigkeit=f, temperatur=t, bildt=bildt, bildf=bildf)
elif request.form.get('Monat') == 'Temp Monat':
ret = rrdtool.graph('./static/img/Temperatur.png', '-s', 'now - 1 month', '-e', 'now', '--vertical-label', 'in °C', '--title', 'Temperatur Monat', '-l', '16.0', '-u', '22.0', 'DEF:monatgraph=/home/pi/Sensor/TemperaturAufzeichnen.rrd:temp:AVERAGE', 'LINE1:monatgraph#FF0000:Temperatur')
bildt = 1
return render_template('temperatur.html', messung=datum, feuchtigkeit=f, temperatur=t, bildt=bildt, bildf=bildf)