Как перебирать поля формы в цикле на python?

Я пытаюсь узнать, насколько "полным" является профиль пользователя в процентах.

Я хочу пройтись по полям формы, чтобы увидеть, какие из них остались пустыми, и вернуть процент заполнения.

Мой вопрос в том, как мне ссылаться на каждое значение формы в цикле без необходимости записывать имя каждого поля?

Возможно ли это?

    completeness = 0
    length = 20 
    for x in form:
        if form.fields.values[x] != '':
            completeness += 1

    percentage = (completeness / length) * 100
    print(completeness)
    print(percentage)

Для обращения к каждому значению формы в цикле без необходимости записывать имя каждого поля в Python, вы можете использовать метод items() на словаре form.fields.values для итерации по парам ключ-значение в словаре.

Вот пример того, как вы можете обновить свой код, чтобы использовать метод items() для циклического просмотра формы:

completeness = 0
length = 20
for key, value in form.fields.values.items():
    if value != "":
        completeness += 1

percentage = (completeness / length) * 100
print(completeness)
print(percentage)

Обратите внимание, что в приведенном выше коде метод items() используется для цикла по словарю form.fields.values, а ключ и значение для каждой итерации присваиваются переменным key и value соответственно. Это позволяет ссылаться на значение для каждого поля без необходимости явного указания имени поля.

Вернуться на верх