from django.conf import settings from django.core.urlresolvers import reverse class LoginMessageMiddleware(object): def process_request(self, request): from django.conf import settings if request.user.is_authenticated(): if not request.session.get(settings.LOGIN_SUCCESS_KEY): request.user.message_set.create(message="You have successfully logged in.") request.session[settings.LOGIN_SUCCESS_KEY] = True if request.path == reverse('auth_logout'): try: del request.session[settings.LOGIN_SUCCESS_KEY] except KeyError: pass