首页 > 解决方案 > 使用python在jinja2模板中单击按钮生成CSV文件

问题描述

我有一个 jinja2 模板,它将在本地生成一个 html。HTML 包含许多表格。当我们单击 html 中的提交按钮“转换为 csv”时,我想将这些表转换为 csv 文件。尝试以下代码时出现错误。

jinja2 模板 - high_conf_correct_tab1 和 low_conf_incorrect_tab1 来自包含表数据的 python 代码。

<form method='post'>
    <button type="submit" >Convert to CSV </button>
</form>

<br>
    <button id=high-conf-correct1 type="button" class="collapsible">Top 1 High Confidence Correct answer </button>
    <div class="content">
        {{high_conf_correct_tab1}}
    </div>
    <div>
        </br>  </br>
    </div>
    <button id=low-conf-incorrect1  type="button" class="collapsible">Top 1 Low Confidence Incorrect answer </button>
    <div class="content">
        {{low_conf_incorrect_tab1}}
    </div>

试过python代码:

  url = "C:\\Users\\Docs\\html\\metrics.html"
    
    if request.method == 'POST':
       html = open(url).read()
       soup = BeautifulSoup(html)
       table = soup.select_one("table.data2_s")
       with open("out.csv", "w") as f:
                wr = csv.writer(f)
                wr.writerow(headers)
    f.close()

标签: pythonhtmlpandasjinja2

解决方案


为此,请在 html 中使用以下表单配置,

<form class="form-container" method="POST" action='/something.html'>
       <input type="submit" id="submit1" class='btn btn-success'>
</form>

'something.html' 是 django 后端的 url。


推荐阅读