Django FormView вручную устанавливает данные сеанса, потерянные после перенаправления

#django #session #django-3.1

#django #сеанс #django-3.1

Вопрос:

Я использую FormView для получения некоторого ввода от пользователя. Затем я пытаюсь установить некоторые из этих данных в сеанс, который будет использоваться после проверки формы и перенаправления пользователя. Однако данные потеряны.

Представление:

     class SomeFormView(FormView):
        template_name = 'something.html'
        form_class = SomeForm

        def form_valid(self, form):
            self.request.session['some_key'] = 'some value'

            # According to manual, this should work
            self.request.session.modified = True

            # Hail Mary
            self.request.session.save()

            return super().form_valid(form)
  

Если я посмотрю на self.request.session содержимое до перенаправления, оно будет иметь значение, которое я установил как: '_session_cache': {'some_key': 'some_value'}

Но когда я прихожу к перенаправлению, данные нигде не найдены. Я протестировал это на Django 3.1.1 и Django 2.2.16, причем оба действовали одинаково

Комментарии:

1. Сейчас такая же ситуация с django 2.2.17

2. я также сталкиваюсь с этой проблемой, вы нашли какое-либо решение?