Python 3.x Flask-仅传递选定字段

Python 3.x Flask-仅传递选定字段,python-3.x,flask,Python 3.x,Flask,我有一个flask网页,要求用户选择几个字段,并根据所选字段返回输出 下面的代码只适用于3个字段。如果用户选择所有3个字段,则不会出现问题。但是,如果未选择任何字段,它将返回一个错误,说明列“none”不存在 def template(): form = TestForm() if form.validate_on_submit(): student_id = form.student_id.data class_id = form.class_i

我有一个flask网页,要求用户选择几个字段,并根据所选字段返回输出

下面的代码只适用于3个字段。如果用户选择所有3个字段,则不会出现问题。但是,如果未选择任何字段,它将返回一个错误,说明列“none”不存在

def template():
    form = TestForm()
    if form.validate_on_submit():
        student_id = form.student_id.data
        class_id = form.class_id.data
        roll_id = form.roll_id.data
        print(student_id)
        print(class_id)
        print(roll_id)
是否有人可以帮助我修改此设置,以便只传递选定的字段,而忽略未选定的字段。谢谢

编辑(HTML代码):


显示HTML和验证代码。听起来您的选择字段值默认为“无”。您可能希望将其默认为空字符串或更改validation@Cfreak在我的初始帖子中包含了HTML代码。告诉我们你如何调用<代码>函数< /> >,也考虑重命名它。其次,如果
field\u名称
直接来自HTML的值,则此代码容易受到SQL注入攻击。您希望指定要选择的列。通常,对于复选框,“值”属性应为true或false值,以决定是否选中它。您选择的列应该是静态的,您可以在SQL中使用
WHERE
语句来控制返回的行。@Cfreak,此函数将访问一个临时表,该临时表最多有10条记录,并且只能从该列表中获取3个样本。当然,我们会适当地重命名该函数。然而,我被困在如何通过这些返回“None”的非选择字段上
<form action=""
          enctype="multipart/form-data"
          method="POST">
        {{form.hidden_tag()}}
        <table>

            <div class="checkbox">
            <label>
                <input type="checkbox" name="student_id" value="student_id"> student_id
            </label>
            </div>
            <div class="checkbox">
            <label>
                <input type="checkbox" name="class_id" value="class_id"> class_id
            </label>
            </div>
            <div class="checkbox">
            <label>
                <input type="checkbox" name="roll_id" value="roll_id"> roll_id
            </label>
            </div>
            <tr class="submit">
                <td></td>
                <td><button type="submit">Get the Report!</button>
                </td>
            </tr>
        </table>
    </form>
def function(*field_names):
    cursor = conn.cursor()
    cursor.execute('select {} from enrolments'.format(', '.join(str(field) for field in field_names)))
    print(field_names)
    output_file = dwh_cursor.fetchall()