wie bekomme ich das aus dem Plot ertsellten png in ein Bild auf der erstellten Seite?
Code: Alles auswählen
@app.route('/', methods=['POST', 'GET'])
def welcome():
response = ""
if 'username' in session:
if request.method == 'POST':
#values_of_interest = "Schaltkreis_1_Wirkenergie_kWh"
values_of_interest = request.form.get('Plot_Daten')
print(values_of_interest)
conn = sqlite3.connect('C:\\Users\\teleg\\OneDrive\\Desktop\\Easy_projekt\\CSV_to_SQLite\\DB_egx300.db')
c = conn.cursor()
# Beschriftung = str(values_of_interest.replace('_', ' '))
c.execute('SELECT {0}, Ortszeitstempel FROM egx300'.format(values_of_interest))
dates = []
values = []
for row in c.fetchall():
dates.append(row[1])
values.append(row[0])
#Erzeuge eine neu Figur
fig = Figure(figsize=(20, 8))
#Werte bilden
summe = []
x_zaeler = 0
for i in dates:
x_zaeler += 1
print(x_zaeler)
x_mid = x_zaeler / 2
y_zaeler = 0
for i in values:
y_zaeler += 1
y_mid = y_zaeler / 2
#figur setup
ax = fig.add_subplot(111)
ax.set_xticks([1, x_mid, x_zaeler])
ax.set_yticks([1, 10, 50, 100, 150, 200, 300])
ax.set_title(values_of_interest)
ax.plot(dates, values)
ax.set_xticklabels(dates, rotation=0)
#Figur Convertieren
img = io.BytesIO()
canvas = FigureCanvasAgg(fig)
canvas.print_figure(img, format='png')
response = make_response(img.getvalue())
response.headers['Content-Type'] = 'image/png'
print(type(response))
return render_template('welcome.html', username=session['username'], response=response)
else:
return redirect(url_for('login'))
welcom.html
<div>
<form action="{{url_for('welcome')}}" method="POST" id="select2" name="Plot_Daten" >
<select name="Plot_Daten" size="14" >
<option value="Wirkenergie_kWh">Wirkengie</option>
<option value="Strommittelwert_L1">L1</option>
<option value="Strommittelwert_L2">L2</option>
<option value="Strommittelwert_L3">L3</option>
<option value="Schaltkreis_1_Wirkenergie_kWh">Wirkenergie 1</option>
<option value="Schaltkreis_1_Strommittelwert_A">Strommittelwert 1</option>
<option value="Schaltkreis_2_Wirkenergie_kWh">Wirkenergie 2</option>
<option value="Schaltkreis_2_Strommittelwert_A">Strommittelwert 2</option>
<option value="Schaltkreis_3_Wirkenergie_kWh">Wirkenergie 3</option>
<option value="Schaltkreis_3_Strommittelwert_A">Strommittelwert 3</option>
<option value="Schaltkreis_4_Wirkenergie_kWh">Wirkenergie 4</option>
<option value="Schaltkreis_4_Strommittelwert_A">Strommittelwert 4</option>
</select><br>
<input type="submit">
</form>
<p>
{{request.form.get('Plot_Daten')}} #work
{{response}} #type(<class 'flask.wrappers.Response'>) <Response 44257 bytes [200 OK]>
<img src="data:image/png;base64,{{ response }}" width="500">
{% if response != None %}
<img src="data:image/png;base64,{{ response }}" width="500"># ???
{% endif %}
</p>
<p>
<img src={{response}} alt="Loading Plot" />#???
</p>
</div>
[/code]