Django-security-session: проблема с потерей переменной сессии при истечении срока действия сессии

Я разрабатываю приложение, и у меня есть некоторые переменные сессии, используемые в представлениях.

Я использую django-security-session для выхода пользователя из системы. Но когда пользователь входит в систему после выхода с помощью django-security-session, он перенаправляется на последнюю посещенную страницу/вид, как и должно быть (нормальное поведение django-security-session)

Но моя проблема в том, что при использовании переменной сессии в представлениях, когда пользователь выбывает, переменные сессии теряются, и возникает ошибка.

Возможно, у меня нет хорошей "практики" использования переменных сессий таким образом... но пока я хотел бы продолжать использовать их, если это возможно.

Как я могу справиться с этой проблемой?

settings.py

SESSION_SECURITY_WARN_AFTER = 14*60
SESSION_SECURITY_EXPIRE_AFTER = 15*60

views.py

@method_decorator(login_required, name="dispatch")
class EligibiliteUpdate(SuccessMessageMixin, UpdateView): 

    model = Eligibilite
    form_class = EligibiliteForm
    template_name = "ecrf/eligibilite_form.html" # nom template à utiliser avec CBV : [nom_model]_form.html
    success_message = "La fiche Eligibilite a été modifiée."

    def get_success_url(self):
        return reverse("ecrf:patient", args=[Patient.objects.get(pat = Eligibilite.objects.filter(ide = self.kwargs["pk"]).first().pat.pat).ide])

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        patient = self.request.session.get("patien       # <= session variable lost when user is logout
        context["form_name"] = "eligibilite"
        context["ide"] = self.kwargs["pk"]
        context["exist"] = Eligibilite.objects.filter(pat = patient.ide).exists() # <= error raised
        # creation
        context["eli_sai_log"] = Eligibilite.objects.get(ide = self.kwargs["pk"]).eli_sai_log
        context["eli_sai_dat"] = Eligibilite.objects.get(ide = self.kwargs["pk"]).eli_sai_dat
        # lock
        context["is_locked"] = Eligibilite.objects.get(ide = self.kwargs["pk"]).ver
        context["user_has_lock"] = Eligibilite.objects.get(ide = self.kwargs["pk"]).ver_usr
        context["lock_date"] = Eligibilite.objects.get(ide = self.kwargs["pk"]).ver_dat

        return context

    def get_form_kwargs(self):
        kwargs = super(EligibiliteUpdate, self).get_form_kwargs()
        kwargs["ide"] = self.kwargs["pk"]  
        kwargs["patient"] = None
        kwargs["user"] = self.request.user   
        return kwargs

    def form_valid(self, form):
        form.instance.eli_sai_log = self.request.user.username
        form.save()
        return super().form_valid(form)
Вернуться на верх