 <p>Django's <a href="https://docs.djangoproject.com/en/1.9/topics/auth/default/#django.contrib.auth.authenticate" rel="nofollow"><code>authenticate</code></a> method checks against a <code>username</code>, not an email.</p> <blockquote> <p>It takes credentials in the form of keyword arguments, for the default configuration this is <strong>username</strong> and password.</p> </blockquote> <p>The simple solution to this is, when defining a user, set their username to the same as the email.</p>