Django ERR_CACHE_MISS на странице входа после перехода по ссылке и обратно - PullRequest
1 голос
/ 28 мая 2020

У меня есть страница входа в систему с формой с полями имени пользователя и пароля и кнопкой отправки. На этой же странице есть ссылки на другие страницы сайта.

Я использую vanilla Django вид входа . Пользователь может войти в систему, используя правильные учетные данные, в противном случае в форме входа будет отображаться ожидаемая ошибка аутентификации. Пока все работает нормально. Проблема, с которой я сталкиваюсь, воспроизводится следующим образом:

  1. go на страницу входа и ввод неправильных учетных данных, отправьте
  2. правильно ошибки проверки появляются в форме
  3. щелкните ссылку на странице
  4. правильно браузер переместит меня на другую страницу после GET запроса
  5. нажмите в браузере go кнопку назад

Или другим способом:

  1. go для входа на страницу входа и ввода неправильных учетных данных, отправьте
  2. правильно отображаются ошибки проверки в форме
  3. щелкните в браузере go кнопка назад
  4. нажмите в браузере go кнопка вперед

На этом этапе я получаю это сообщение из браузера:

Подтвердите повторную отправку формы

Для правильного отображения этой веб-странице требуются данные, которые вы ввели ранее. Вы можете отправить эти данные еще раз, но, сделав это, вы повторите любое действие, которое эта страница ранее выполняла. Нажмите кнопку перезагрузки, чтобы повторно отправить данные, необходимые для загрузки страницы. ERR_CACHE_MISS

Это странно, но еще более странно то, что если я проверю Отключить кеш в Chrome DevTools Сеть панель, проблема исчезнет (ie. Когда я нажимаю кнопку "Назад", я вижу форму, предварительно скомпилированную с ранее вставленными данными). Поэтому я попытался добавить декоратор never_cache к LoginView, просто чтобы увидеть, но затем понял, что это представление (очевидно) уже имеет декоратор.

Интересно, в чем проблема и как ее решить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...