I'm new to this topic, I want to implement the output of users and their real passwords for admin access. At the moment I have this code, it displays encrypted passwords. How can I make the password that the user entered during registration appear in the field? Thank you in advance.
class UserListView(generics.ListAPIView):
queryset = models.User.objects.all()
serializer_class = serializers.UsersListSerializer
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(('email address'), unique=True)
first_name = models.CharField(('first name'), max_length=30, blank=True)
last_name = models.CharField(('last name'), max_length=30, blank=True)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
objects = UserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['first_name', 'last_name']
def __str__(self):
return str(self.email)
def save(self, *args, **kwargs):
super(User, self).save(*args, **kwargs)
return self
@property
def token(self):
return self._generate_jwt_token()
def _generate_jwt_token(self):
dt = datetime.now() + timedelta(days=60)
token = jwt.encode({
'id': self.pk,
'exp': dt.utcfromtimestamp(dt.timestamp())
}, settings.SECRET_KEY, algorithm='HS256')
return token.decode('utf-8')
class UserManager(BaseUserManager):
def _create_user(self, first_name, last_name, email, password=None, is_active=True, is_staff=False, is_superuser=False):
if not first_name:
raise ValueError('First name should be set')
if not last_name:
raise ValueError('Last name should be set')
if not email:
raise ValueError('Email should be set')
user = self.model(
email=self.normalize_email(email),
first_name=first_name,
last_name=last_name,
is_active=is_active,
is_staff=is_staff,
is_superuser=is_superuser
)
user.set_password(password)
user.save(using=self._db)
return user
def create_user(self, first_name, last_name, email, password=None):
user = self._create_user(first_name, last_name, email, password=password, is_staff=True)
return user
def create_superuser(self, first_name, last_name, email, password=None):
user = self._create_user(first_name, last_name, email, password=password, is_staff=True, is_superuser=True)
return user
Now I have this
[
{
"email": "[email protected]",
"password": "pbkdf2_sha256$216000$2HREtqWfeAGm$VKHOyaoXR9x+xIBrBuoaDEjnJx/6V+bNkw/Y0iSJhA0=",
"first_name": "Kdhsdh",
"last_name": "JKgfjgps"
},
{
"email": "[email protected]",
"password": "pbkdf2_sha256$216000$A0ms9j2nh3hJ$q9BS8LuwxiOdPpO36QzJHMCPnBMYfDnci51omfyS7oo=",
"first_name": "Sebek",
"last_name": "Bebek"
}
]
I want to have this
[
{
"email": "[email protected]",
"password": "12345678",
"first_name": "Kdhsdh",
"last_name": "JKgfjgps"
},
{
"email": "[email protected]",
"password": "12345678",
"first_name": "Sebek",
"last_name": "Bebek"
}
]