Flask - Передача только выбранных полей - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть веб-страница с флягой, которая просит пользователя выбрать несколько полей и возвращает результат на основе выбранных полей.

Приведенный ниже код прекрасно работает с 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 code):

<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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...