2016-12-15 59 views
0

我有一个包含多个图表的页面,我希望在每个图表旁边有一个允许我通过不同参数进行过滤的下拉菜单。我发现自己对这个问题的一种简单的方法找出对添加/修改网址参数

a)参数添加到当前URL不删除已存在的参数

b)检查,如果该参数已经在URL并修改它。

我也可能在我的网址上有锚点。有没有简单的方法来实现这一点,而无需自己解析整个URL?

这将是我用于过滤器的下拉菜单,并且想法是在python中使用请求来获取URL参数。

<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> 

现在,我一直在使用这个任务只是URL参数,但现在我需要我的游戏一点点,使其更漂亮

+0

我想过使用隐藏的参数,但我需要能够查询的网址对于每个参数,如果他们有一个分配的值,如果他们不在URL中,则不给他们任何值,我在我的python脚本中指定默认值 – inigo

+0

一位朋友指出,由于我正在使用烧瓶,Jinja可能有一种方法来获得这些参数的价值 – inigo

+0

我有点失去了你究竟在问什么。如果你可以创建一个[Minimal,Complete,and Verifiable example](http://stackoverflow.com/help/mcve) – abigperson

回答

0

我找到了解决办法。我创建隐藏的价值和使用的Jinja2访问的情况下,当前的URL参数和设置默认值,他们还没有设置

<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>