Dynamische Ausgabe von Bilder mittels Flask

  • Grüße euch,

    ich schraube gerade an einem Script, welches mir von einer Regenmengenmessung (ESP + Wippe + Tasmota) die Zählungen in Regenmengen umrechnet, dann in die ein oder andere CSV schreibt.

    Sowie die Werte aus der CSV plottet und als Bild abspeichert.

    Die Werte sollen von heute und gestern dynamisch auf einer Webseite angezeigt werden. Genauso die daraus geplotteten Bilder.

    Die Werte werden mir angezeigt, leider aber nicht das Bild.

    Hat jemand Erfahrung mit Flask und könnte mir erklären wie man sowas macht?

  • Wenn du die Bilder im static-Directory ablegst dann funktioniert es (Code gnadenlos vereinfacht)

    Ich hab versucht die Files in ein Subdirectory von static abzulegen, aber dann betrachtet flask sie als HTML-Files?!

  • Grüß dich,

    das funktioniert.


    Ich hatte gehofft das ich noch den Plot von heute mit einpflegen kann. Das geht scheinbar so nicht.

    Man kann auch ein Upload_Ordner angeben. Der muss sich ebenfalls im static befinden bzw. flask macht mittels app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER aus:

    Code
    "/home/pi/Wetterstation/..."

    dann

    Code
    "static/home/pi/Wetterstation/..."
  • Ich habs:

    Ich hatte etwas mit dem CSS gespielt. Deswegen sieht das jetzt etwas anders aus als im ersten Post.

    Geändert habe ich in Python folgenden Teil:

    Hier werden die Bilder , die jetzt im Static-Ordner gespeichert werden, als Liste Übergeben.

    und im HTML wird über die Liste iteriert:

    HTML
    <body>
      <main>
        <figure>
        {% for image in image_list %}
          <img src="{{ url_for('static', filename = image) }}" alt="plot_img" width="150" height="100">
        {% endfor %}
        </figure>
        <table id="Gestern">

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!