 <p>You might have tried this already, but if you are using <code>django.contrib.auth.views</code>, then you could try calling <a href="https://docs.djangoproject.com/en/1.7/topics/auth/default/#how-to-log-a-user-out" rel="nofollow"><code>django.contrib.auth.logout(request)</code></a> to log out the user if they do not want to be remembered, then login as per your existing code:</p> <pre><code>from django.contrib.auth import logout def login(request, *args, **kwargs): if request.method == 'POST': if not request.POST.has_key('remember_me'): saved_user = getattr(request, 'user', None) logout(request) if saved_user is not None: request.user = saved_user return auth_views.login(request, *args, **kwargs) </code></pre> <p>This should work because <code>django.contrib.auth.login()</code> is called behind the scenes. The documentation says that the session is cleared out.</p>