烧瓶-仅传递选定的字段

时间:2018-11-21 18:28:55

标签: python-3.x flask

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

下面的代码可以在3个字段中正常工作。如果用户选择所有3个字段,则没有问题。但是,如果未选择任何字段,则会返回错误消息,指出“无”列不存在。

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代码)

<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()

0 个答案:

没有答案