The email-as-username is a relatively new way to do things and not the default way of doing things in Django, unfortunately.
What I did for the new Hello Web Books website (where I am in the same boat) is probably not the best, most recommended way, but it’s been working internally so far (not launched yet.) Basically I changed it so it says email (rather than username) for creating a new user, and then internally I remove the “@” and make that the username. This isn’t shown to the user, but it fulfills Django’s requirements.
Here’s an example piece of that (I think there is more to it, but this was my starting point.)
So if starting a new project, then it’s best to set it up the recommended way by Django by having a custom User model.
If you have an existing project, just accept having a regular ol’ username, or you can make updates to the code as needed so you’re storing a created username along with the customer’s email.