如何将参数从模板传递到 Flask 中的视图
How to pass argument from template to view in Flask
我有一个模板,它正在对 table:
的字段进行一些操作
<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))
我想从模板发送字段。
整个想法是,将table中的某些字段作为指向外部站点的超链接,当这些超链接的地址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
您的路由配置不处理任何 field
参数。调整路线:
@app.route("/munin/<field>")
def munin(field):
return redirect("http://{0}/munin".format(field))
接受路径参数。
from flask import request
field = request.args.get('field')
完成任务。
我有一个模板,它正在对 table:
的字段进行一些操作<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))
我想从模板发送字段。
整个想法是,将table中的某些字段作为指向外部站点的超链接,当这些超链接的地址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
您的路由配置不处理任何 field
参数。调整路线:
@app.route("/munin/<field>")
def munin(field):
return redirect("http://{0}/munin".format(field))
接受路径参数。
from flask import request
field = request.args.get('field')
完成任务。