Espere.in

We are social media platforms where users share his experience, stay up-to-date and grow their knowledge.
You can chat with your friends and make new friends.

Web Version 2.0.0

thumbnail

Login With Email Instead Of User Name In Django Admin

Login With Email Instead Of Username In Django Admin

In this tutorial, we are going to learn how to log in using email instead of the username in Django admin. It's easy, you can use it on the frontend too

let's start:

models.py

from django.db import models
from django.contrib.auth.models import AbstractUser

# Create your models here.


class User(AbstractUser):
    USERNAME_FIELD = "email"
    email = models.EmailField(max_length=255, unique=True)
    REQUIRED_FIELDS = [
        "username",
    ]

Don’t forget to point AUTH_USER_MODEL to it.

settings.py

AUTH_USER_MODEL = "app_name.User"

Now register the model in the app’s admin.py:

admin.py

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User

admin.site.register(User, UserAdmin)

You need to run the makemigrations command

python manage.py makemigrations

then have to run migrate command

python manage.py migrate

Then you have to create a superuser

python manage.py createsuperuser

For more information see Django docs

 

Thanks For reading
Likes by: 3 Tags: django Email-Login Authentication

Author's profile


Avatar
Abdulla Fajal

Django Developer

Information

Education

Graduation

Lives in

India

About

My name is Abdulla Fajal and I am the owner of "espere.in", if you want to give some suggestions, you can message me.

Action

Your comment


Login Required