2016-12-15 12 views
0

Ich habe eine Seite mit mehreren Graphen. Ich hätte gerne ein Dropdown-Menü neben jedem Diagramm, das es mir erlaubt, nach verschiedenen Parametern zu filtern. Das Problem finde ich mich gegen ist, herauszufinden, eine einfache Möglichkeit,URL-Parameter hinzufügen/ändern

a) einen Parameter auf die aktuelle URL hinzufügen, ohne das Löschen bereits vorhandene Parameter

b) Überprüfung, ob die Parameter bereits in der URL ist und ändern es.

Ich könnte auch Anker auf meine URLs haben. Gibt es eine einfache Möglichkeit, dies zu erreichen, ohne die gesamte URL selbst analysieren zu müssen?

Dies wäre das Dropdown-Menü, das ich für den Filter verwende, und die Idee ist, Anfrage in Python zu verwenden, um die URL-Parameter zu erhalten.

<select name ="date range" onchange="this.form.submit()"> 
    <option value="today">Today</option> 
    <option value="current week">Current week</option> 
    <option value="last week">Last week</option> 
    <option value="current month">Current month</option> 
    <option value="last month">Last month</option> 
</select> 

Gerade jetzt habe ich für diese Aufgaben nur URL-Parameter benutze aber jetzt brauche ich mein Spiel ein wenig zu hoch und es schönere machen

+0

ich mit versteckten Parameter gedacht habe, aber ich würde der Lage sein müssen, um die URL zu überprüfen für jeden der Parameter, wenn sie einen zugewiesenen Wert haben und wenn sie nicht in der URL sind geben sie keinen Wert und ich den Standardwert in meinem Python-Skript – inigo

+0

ein Freund hat darauf hingewiesen, dass, da ich mit Kolben arbeite, Jinja wahrscheinlich hat eine Möglichkeit, den Wert dieser Parameter zu erhalten – inigo

+0

Ich bin ein bisschen verloren, was genau Sie fragen. Ich würde gerne helfen, wenn Sie ein [minimales, vollständiges und überprüfbares Beispiel erstellen können] (http://stackoverflow.com/help/mcve) – abigperson

Antwort

0

ich die Lösung gefunden. Ich habe versteckte Werte und verwendet Jinja2 aktuelle URL-Parameter und Werte Standardwert bei den Zugriff auf sie noch nicht

gesetzt wurden
<form method="GET"> 
      <select name ="date range" onchange="this.form.submit()" value="last week"> 
       <option value="today">Today</option> 
       <option value="current week">Current week</option> 
       <option value="last week">Last week</option> 
       <option value="current month">Current month</option> 
       <option value="last month">Last month</option> 
      </select> 
      <input type="hidden" name="days" value={{request.args.get('days', 30)}} /> 
      <input type="hidden" name="weeks" value={{request.args.get('weeks', 4)}} /> 
      <input type="hidden" name="months" value={{request.args.get('months', 4)}} /> 
      <input type="hidden" name="filter" value={{request.args.get('filter', 'version')}} /> 

     </form>