Ich richte eine Webanwendung ein, in der ich einige Bilder anzeigen muss. Die Bilder, die ich von der API erhalte, konvertieren den Matplotlib-Plot in PNG und senden ihn dann mithilfe der io-Bibliothek an die Hauptwebanwendung. Daher erscheinen die Bilder, die ich auf der Seite anzeige, fast immer falsch oder falsch. Aber wenn ich sie über das Kontextmenü auf einer neuen Seite öffne, funktionieren sie einwandfrei.
Also dieser Code zum Senden von Bildern
@app.route('/send-data-a', methods=['GET']) def send_data_user_dynamic(): ...some code for diagram... image_stream1 = io.BytesIO() plt.savefig(image_stream1, format='png') image_stream1.seek(0) plt.close(fig) return send_file(image_stream1, mimetype='image/png')
Ich habe versucht, den Zeitstempel in die Haupt-App einzufügen, damit der Link eindeutig ist, aber das hat nicht geholfen
@app.route('/data', methods=['GET']) def data(): timestamp = int(time.time()) user_dynamic = requests.get(f'http://127.0.0.1:5000/send-data-a?timestamp={timestamp}') user_amount = requests.get(f'http://127.0.0.1:5000/send-data-b?timestamp={timestamp}') kp_month = requests.get(f'http://127.0.0.1:5000/send-data-c?timestamp={timestamp}') kp_week = requests.get(f'http://127.0.0.1:5000/send-data-d?timestamp={timestamp}') return render_template('second.html', user_dynamic=user_dynamic.url, user_amount=user_amount.url, kp_month=kp_month.url, kp_week=kp_week.url) if __name__ == '__main__': app.run(debug=True, port=5001)
Und es gibt eine HTML-Vorlage, um sie auszugeben
some text
所以呃这段代码解决了问题