Я предложил ту же проблему и решил, как показано ниже:
Джанго перенаправил на LOGIN_URL после истечения сеанса.Поэтому я указал URL-адрес для входа в систему в settings.py
для показа сообщения пользователю и перенаправления в наше представление для входа.
settings.py
:
LOGIN_URL = reverse_lazy('account:logout')
views.py
:
class LogoutView(RedirectView):
url = reverse_lazy('account:login') # Our login view
def get(self, request, **kwargs):
# If session expired django clean request.session object.
# If user came to this view by clicking to logout button request.session not comes empty
if request.session.is_empty():
messages.error(request, "Your session has expired. Please login again to continue checking out.")
logout(request)
if request.GET.get('next'):
self.url = '{}?next={}'.format(self.url, request.GET.get('next'))
return super(LogoutView, self).get(request, **kwargs)