django message when logout
You could use the user_logged_out signal combined with the messages framework:
First, make sure the messages framework is set up (https://docs.djangoproject.com/en/dev/ref/contrib/messages/).
Then include this code somewhere that will be called (I tend to put it in a receivers.py module and then import it from a models.py file in an installed app):
from django.contrib.auth.signals import user_logged_out
from django.dispatch import receiver
from django.contrib import messages
@receiver(user_logged_out)
def on_user_logged_out(sender, request, **kwargs):
messages.add_message(request, messages.INFO, 'Logged out.')
give a try to:
from django.contrib.auth.views import LogoutView
class YourCustomLogoutView(LogoutView):
def get_next_page(self):
next_page = super(YourCustomLogoutView, self).get_next_page()
messages.add_message(
self.request, messages.SUCCESS,
'You successfully log out!'
)
return next_page
in urls:
url(r'^logout/$', YourCustomLogoutView.as_view(), {'next_page': settings.LOGOUT_REDIRECT_URL}, name='logout'),
Try using sessions. Can be simpler.
In the logout view, set an entry in the session variable, like session['just_logged_out'] = True
, and in the home page view, check for the variable.
try:
just_logged_out = request.session.get('just_logged_out',False)
except:
just_logged_out = False
In the template, you can use
{% if just_logged_out %} You are successfully logged out {% endif %}