在下面的示例中,我为 Column3 中的每个行项目创建 href,并且变量 (var1) 将与其一起发送(效果很好)。我的问题是如何使用 Column1 的变量 (var2) 发送相邻行值?这需要用 jquery 或其他方式处理吗?
下面的 var2 是我想要做的,但目前不确定如何做。
表:
Column1 Column2 Column3
Row1 Yes Foo Bar
Row2 No Foo1 Bar3
Row3 Maybe Foo2 Bar2
应用程序.py:
@app.route('/mypage/<var1>')
def python_function(var1,var2):
df = pd.DataFrame(lotsofdata)
return render_template('index.html',data=df)
index.html:
<table id="data">
<thead>
<tr>
{% for c in data.columns.values %}
<th>{{ c }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for index, row in data.iterrows() %}
<tr>
{% for v in row %}
<td>
{% if data.columns[loop.index0] in ['Column3'] %}
<a href="{{ url_for('python_function',var1=v,var2=???) }}">{{ v }}</a>
{% else %}
{{ v }}
{% endif %}
</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
最佳答案
要在 jinja 中调用函数,您需要在 __init__.py 中创建一个全局函数
def cool_func(var1, var2):
return var1 + var2 # or something
app.jinja_env.globals.update(cool_func=cool_func)
那么对于您的示例,您可以替换:
<a href="{{ url_for('python_function',var1=v,var2=???) }}">
与:
<a href={{ cool_func(var1, var2) }}>
关于python - 如何使用 Jinja2 iterrows 函数返回 url_for 的多列表行值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43286655/