Есть небольшое приложение на flask. Имеется стандартная форма авторизации, при которой в flask.session пишется user.id.
Проблема в том, что форма всегда оказывается невалидной (через form.validate_on_submit()). И так происходит только на домашнем macbook. На всех остальных машинах (рабочая (linux) и сервер (linux server)) все работает как надо.
form.validate() и form.validate_on_submit() всегда отдают False.
в form.errors ошибок нет.
csrf_token установлен и корректно выводится в шаблоне, в контролере все данные поступают нормально. Пробывал выводить csrf через form.hidden_tag(), не помогло.
В проекте используется:
Flask (0.12.2)
Flask-WTF (0.14.2)
WTForms (2.1)
Возможная причина - старые куки. Поменяли логику работы валидации, а старые данные остались в куках.
Попробуйте почистить куки/открыть страницу в приватном режиме.
спасибо за ответ!
странная ситуация, попробовал авторизоваться с другого браузера (firefox) и все робит.
а в chrome попрежнему не работает (уже почистил историю и пробывал через анонима).
заметил что отправки формы в chrome пишутся след. куки
session=741b1683-4084-40a8-af10-1822ec69627d; Domain=.127.0.0.1; Expires=Sun, 31-Dec-2017 15:54:39 GMT; HttpOnly; Path=/
меня смущает что домен пишется начинается через точку Domain=.127.0.0.1
хотя при отправки формы через firefox данный аргумент вообще отсутствует
примечательно то, что на сервере с данным приложением в chrome все работает
проблема оказалась в неправильной настройки окружения.
в локальной конфиг файле была директива
SERVER_NAME = '127.0.0.1:5000'
при удаление все заработало как надо