Django Authentication using an Email Address
I’ve read a lot of half-thought-through explanations for how to let users of a Django site log in with email address rather than username. This seems to be the only one that covers all the bases. Still, it shouldn’t be this hard.