2015-02-06 40 views
0

我有模板,这是做对表中的字段的一些操作:如何从模板传递参数来查看瓶

<tr> 
    {% for field in row %} 
     {% if field is link_field %} 
      <td><a href="{{ url_for('munin') }}">{{ field | table_field | safe }}</a></td> 
     {% else %} 
      <td>{{ field | table_field | safe }}</td> 
     {% endif %} 
    {% endfor %} 
</tr> 

我的看法:

@app.route("/munin") 
def munin(field): 
     return redirect("http://{0}/munin".format(field)) 

我想送场来自模板。

当这些超链接的地址http是一个字段的属性(例如ip地址)时,整个想法是,将表中的某些字段作为超链接连接到外部网站。

我试图做到这一点:

<tr> 
    {% for field in row %} 
     {% if field is link_field %} 
      <td><a href="{{ url_for('munin', field=field) }}">{{ field | table_field | safe }}</a></td> 
     {% else %} 
      <td>{{ field | table_field | safe }}</td> 
     {% endif %} 
    {% endfor %} 
</tr> 

但不是送我去网站:

http://field/munin 

它送我到:

http://mysite/munin?field=field 

回答

4

你的路由配置没有按不处理任何field参数。调整您的路线:

@app.route("/munin/<field>") 
def munin(field): 
    return redirect("http://{0}/munin".format(field)) 

接受路径参数。

+0

哇,为什么我这么愚蠢?谢谢,那解决了一切。 – Ojmeny 2015-02-06 15:30:13

0
from flask import request 
field = request.args.get('field') 

没有工作。