Я использую форму для получения данных из почтового запроса, и я заметил некоторое поведение, с которым я не знаком. У меня есть две версии моей формы, показанные ниже. Единственное отличие заключается в том, что во второй версии формы у меня есть символ подчеркивания в именах переменных.Поле формы с подчеркиванием не работает
class EditTitleForm(Form):
newTitle = StringField('newTitle')
currentTitle = StringField('currentTitle')
class EditTitleForm(Form):
new_title = StringField('newTitle')
current_title = StringField('currentTitle')
Однако, когда я пытаюсь print(form.new_title.data)
и print(form.current_title.data)
я получаю пустую строку, но когда я переключаю форму версии без подчеркивания, все печатает отлично. Почему это?
@auth.route('/edit_title', methods=['POST'])
def edit_title():
data = MultiDict(mapping=request.json)
print(data)
form = EditTitleForm(data)
print(form.newTitle.data)
print(form.currentTitle.data)
Это WTForms или что-то еще? Если это WTForms, то подчеркивающая форма должна работать (см., Например, http://wtforms.readthedocs.io/en/latest/forms.html#defining-forms), и вы должны поднять ошибку. – jonrsharpe
Да, его WTForms – Brosef
Вы также изменили ключи в объекте JSON? Установка меток не влияет на то, что загружается в каждое поле. – davidism