如何将按钮的值传递给Flask Python函数

时间:2018-07-06 17:36:01

标签: javascript html python-3.x flask jinja2

我可以使用request对象执行此操作吗?此按钮不是表单按钮。

我的html文件称为display.html,看起来像这样:

<table style="width:90%">

        <tr>
            <th> pluginid </th>
            <th>name </th>
            <th> exploitavailable</th>
            <th>severity </th>

        </tr>


    {% for element in elements %}
    <tr>
        <td> <button onclick="location.href='display.html';" type="button" value="{{element.split(" ",1)[0]}}" name="{{element.split(" ",1)[0]}}"> {{ element.split(" ",1)[0]}} </button></td>
        <td> {{element.split("\t",1)[0]}} </td>
        <td> {{element.split("\t",2)[1]}} </td>
        <td> {{element.split("\t",3)[2]}} </td>

    </tr>

    {% endfor %}

    </table>

我的python代码如下:

@app.route("/display.html",methods=['GET', 'POST'])
def display():
    return render_template("display.html")


if __name__ == '__main__':
    app.run(port=8898)

1 个答案:

答案 0 :(得分:0)

假设{{element.split(" ",1)[0]}}是您插件的ID。

您所能做的就是为插件建立路由:

@app.route('/plugin_details/<int:plugin_id>')
def plugin_details(plugin_id):
    details = get_some_details(plugin_id)
    return render_template('plugin_details.html', details=details)

,然后使用以下命令在按钮中链接到此页面:

<button onclick="window.location='{{url_for('plugin_details', plugin_id=element.split(" ",1)[0])}}';">Visit Page Now</button>