Почему я не могу войти в систему после обновления Django с 2.2 до 3.2?

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

Вот шаги, которые я предпринимаю:

  1. Введите имя пользователя/пароль в форму входа (отлично работает в 2.2)
  2. В файле python используется user = authenticate(username=username, password=password), а затем login(request, user)
  3. .
  4. Я могу подтвердить, что имя пользователя/пароль правильные, и печать request.user сразу после вызова login регистрирует правильного пользователя.
  5. Когда я проверяю cookies в браузере, значение для sessionid установлено.
  6. После успешного входа сервер посылает перенаправление на защищенный аутентификацией маршрут. Однако при получении защищенного маршрута печать request.user становится AnonymousUser, а затем я перенаправляюсь обратно на страницу входа.

Похоже, что это проблема с сессиями. Я вижу, что куки устанавливаются, и даже когда я вручную устанавливаю куки sessionid на значение, возвращаемое request.session.session_key сразу после вызова login, он все равно не распознает авторизованного пользователя. Я следовал рекомендациям в примечаниях к выпуску по установке DEFAULT_HASHING_ALGORITHM = 'sha1'.

Есть идеи о том, что происходит? Без каких-либо сообщений об ошибках я застрял и не могу понять, почему я не могу войти в систему как пользователь. Я также пробовал использовать sqlite3 и Postgres - тот же результат.

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