Как перебирать поля формы в цикле на 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
соответственно. Это позволяет ссылаться на значение для каждого поля без необходимости явного указания имени поля.