我有一个模板,它正在对表的字段进行一些操作:
<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
答案 0 :(得分:4)
您的路由配置不处理任何field
参数。调整路线:
@app.route("/munin/<field>")
def munin(field):
return redirect("http://{0}/munin".format(field))
接受路径参数。
答案 1 :(得分:1)
from flask import request
field = request.args.get('field')
做完了。