Seite 2 von 2

Re: Flask 2 request POST nützen

Verfasst: Sonntag 23. Juni 2019, 17:18
von Sirius3
Im Moment weiß ich gar nicht, was Du falsch machst, denn alles was zu tun ist, habe ich bereits gesagt. Ein komplett lauffähiges Beispiel, wäre jetzt ganz praktisch.

Re: Flask 2 request POST nützen

Verfasst: Sonntag 23. Juni 2019, 21:40
von Hypec
Also ich habe jetzt noch ein bisschen an dem Code rumprobiert und bin jetzt soweit das Jeder Button und die Stationenabfrage Funktioniert. Jedoch habe ich das Problem das ich jeden Button nun 2 mal drücken muss damit die Grafik wechselt. Ich denke das liegt daran da der alte Wert ja noch in last_selected gespeichert ist.
Wie kann ich jetzt dafür sorgen das auf last_selected nur dann zurückgeriffen wird wenn der andere Wert geändert wird? Also last_selected last soll nur benutzt werden wenn ich die mess_id ändere.

Code: Alles auswählen

@app.route('/dashboard/<id>', methods=['GET', 'POST'])
def dashboard(id):
    mess_id = request.form.get('mess_id', 1)
    last = request.form.get('last,', request.form.get('last_selected', 'tag'))
    plots_date = []

    if last == 'tag':
        ask_length = 96            
    elif last == 'woche':
        ask_length = 672
    elif last == 'monat':
        ask_length = 2880
    else: 
        ask_length = 96

    if 'date' in request.form:
        ask_length = 96
        start_date = request.form.get('start_date', "2018-01-01_00:00")
        end_date = request.form.get('end_date', "2019-01-01_00:00")
        plots_date = [
            make_plot(mess_id, quantity, ask_length, start_date, end_date)
            for quantity in PLOTS
        ]

    plots = [
        make_plot(mess_id, quantity, ask_length, None, None)
        for quantity in PLOTS
    ]

    return render_template('dashboard.html', form=request.form, plots=plots, plots_date=plots_date, mess_ids=['1', '2', '3'])

Code: Alles auswählen

<form method="post" >
        <div class="topnav">
          <input type="hidden" name="last_selected" value="{{form.last}}">
          <button class="button" type="submit" value="tag" id="tag" name="last">Letzter Tag</button>
          <button class="button" type="submit" value="woche" id="woche" name="last">Letzte Woche</button>
          <button class="button" type="submit" value="monat" id="monat" name="last">Letzter Monat</button>
          <div class="topnav-right">
            <select name="mess_id" onchange='this.form.submit()'>
            {%for mess_id in mess_ids%}
              <option value="{{mess_id}}" {%if mess_id == form.mess_id%}selected{%endif%}>Station {{mess_id}}</option>
            {%endfor%}  
            </select> 
          </div>
        </div>
      </form> 

      <link rel="stylesheet" type="text/css" href="{{url_for('static', filename='css/bokeh.css') }}">  
      <script type="text/javascript" src="{{url_for('static', filename='js/bokeh.js') }}"></script> 
      {% for plot in plots %}
        {% for part in plot %}
          {{part | safe}}
        {% endfor %}
      {% endfor %}
      
      <form method="post">
        <div class="auswahl">
          <p>Zeitraum von<input class="ausw-button" type = "date" name = "start_date" />bis
          <input class="ausw-button" type = "date" name = "end_date" />
          <input class="ausw-button" type="submit" value="submit" name="date" />
        </div>
      </form>
      {% for plot in plots_date %}
        {% for part in plot %}
          {{part | safe}}
        {% endfor %}
      {% endfor %}

Re: Flask 2 request POST nützen

Verfasst: Sonntag 23. Juni 2019, 21:59
von Sirius3
Beim Programmieren kommt es halt auf jedes Komma an.

Achja, hatte ich schon erwähnt, dass POST hier die falsche Methode ist?

Re: Flask 2 request POST nützen

Verfasst: Sonntag 23. Juni 2019, 23:33
von Hypec
Falls du diese Zeile meinst was ist dann richtig ich habe es mit get probiert dann geht es aber nicht mehr.

Code: Alles auswählen

<form method="post" >
Ist das mit dem Komma eine Berkung das mir nur ein Komma fehlt oder zu viel ist um mein Problem zu beheben?

Re: Flask 2 request POST nützen

Verfasst: Montag 24. Juni 2019, 06:45
von Sirius3
Natürlich geht das mit GET genauso. Und ja, es ist ein Komma zu viel.

Re: Flask 2 request POST nützen

Verfasst: Montag 24. Juni 2019, 10:50
von Hypec
Also ich habe es extra davor noch mal ausprobiert bevor ich das hier geschrieben habe und es geht nicht mit einem GET außer ich müsste dafür wo anders auch noch etwas ändern.

Re: Flask 2 request POST nützen

Verfasst: Montag 24. Juni 2019, 12:52
von Hypec
Habe jetzt in der Zeile das Komma entfernt und es funktioniert alles (immernoch mit der POST methode).
Das einzige Problem was ich jetzt noch habe ist das die Graphen immer zufällig geordnet sind. Hat da jemand eine Idee wie ich die in eine Festgelegte Reihenfolge bringen kann?