如何通过Flask获取用户选择的<select>标签选项?

2024-09-30 06:31:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个表单,用户可以上传一个csv文件,然后将csv文件转换为pandas数据帧,列标题自动填充表单中的<select>标记选项。在

然后我希望用户选择他们想要的列,我希望这个列选择保存在一个变量中,使用Flask。在

但是,我在检索用户从这个select标记中选择的选项时遇到了问题。在

我的代码模板:

<form class="form-horizontal" action="" method="post" enctype="multipart/form-data">
  <fieldset>
     <legend>Text Analytics</legend>
     <div class="form-group form-group-lg">
        <label for="inputData" class="col-lg-2 control-label">Choose Data File:</label>
        <div class="col-lg-5">
           <input type="file" class="form-control" required="required" autofocus="autofocus" name="inputData"/>
        </div>
        <div class="col-lg-3">
            <button class="btn btn-primary" type="submit" name="upload">Upload</button>
        </div>
        {% if success %}
        <div class="alert alert-success">
            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
            <strong>Success!</strong> {{success}}.
        </div>
        {% endif %}
        {% if error %}
        <div class="alert alert-warning">
            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
            <strong>Error:</strong> {{error}}.
        </div>
        {% endif %}
    </div>
     <div class="form-group form-group-lg">
        <label for="colSelect" class="col-lg-2 control-label">Select column for analysis:</label>
        <div class="col-lg-5">
            <select class="form-control" name="colSelect" id="colSelect">
            {% for column in columns %}
                <option id="{{column}}">{{column}}</option>
            {% endfor %}
            </select>
        </div>

我的烧瓶代码:

^{pr2}$

如您所见,我使用request.form.get('colSelect')来检索选项,但没有任何运气。它只返回None,这是它的初始化值。在

我有一种感觉,这与我把代码放在哪里有关,但我是新的烧瓶,所以可以做一些帮助。在


Tags: divformforclosegroupcolumncolalert
2条回答

你必须给每个option一个value。在

<option value="{{ column }}">{{ column }}</option>

我设法弄明白了。我拿着表格,把它隔了两页。因此,文件上传部分在一个名为textform1.html的页面上以自己的形式存在。上传的文件将被转换为pandas数据帧,然后将呈现一个名为textform2.html的新页面。这个页面只包含了<select>部分,因此我可以捕捉到用户的选择。在

相关问题 更多 >

    热门问题