En Django:
He creado un superusuario y puedo ver todos los usuarios
También implementé la contraseña olvidada para mi usuario, que puede ingresar su correo electrónico y se envía un enlace de restablecimiento de contraseña a su correo electrónico y luego el usuario puede restablecer su contraseña
Pero, ¿cómo puede el administrador cambiar la contraseña de algunos usuarios desde el panel de administración?
En su archivo admin.py, puede registrar un UserAdmin en su modelo de User de la siguiente manera:
from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin from django.contrib import admin from <my-app> import models @admin.register(models.User) class UserAdmin(DjangoUserAdmin): # extra logic: ...Django no almacena contraseñas sin procesar (texto claro) en el modelo de usuario, sino solo un hash (consulte la documentación sobre cómo se administran las contraseñas para obtener detalles completos). Por este motivo, no intente manipular directamente el atributo de contraseña del usuario. Esta es la razón por la que se utiliza una función auxiliar al crear un usuario.
Para cambiar la contraseña de un usuario, tienes varias opciones:
manage.py changepassword *username* ofrece un método para cambiar la contraseña de un usuario desde la línea de comandos. Le solicita que cambie la contraseña de un usuario determinado que debe ingresar dos veces. Si ambos coinciden, la nueva contraseña se cambiará inmediatamente. Si no proporciona un usuario, el comando intentará cambiar la contraseña cuyo nombre de usuario coincida con el usuario actual del sistema.
También puede cambiar una contraseña mediante programación, usando set_password() :
from django.contrib.auth.models import User u = User.objects.get(username='john') u.set_password('new password') u.save()Si tiene instalado el administrador de Django, también puede cambiar las contraseñas de los usuarios en las páginas de administración del sistema de autenticación . Django también proporciona vistas y formularios que pueden usarse para permitir a los usuarios cambiar sus propias contraseñas.
Cambiar la contraseña de un usuario cerrará todas sus sesiones. Consulte Invalidación de sesión en el cambio de contraseña para obtener más información.
Esta respuesta es solo una extensión de la respuesta de @kunal Sharma
Para cambiar la contraseña de usuario desde el administrador de Django
Entrar en el usuario
y haga clic en este formulario, y se mostrará un formulario a continuación, cambie la contraseña allí
Podemos restablecer la contraseña de otro usuario desde la interfaz de administración de Django agregando UserAdmin en el archivo admin.py . Usé Django 3.1 para el ejemplo.
administrador.py
from django.contrib import admin from .models.models import User from django.contrib.auth.admin import UserAdmin admin.site.register(User, UserAdmin)Luego podremos ver la siguiente sección en la página de edición de usuarios de la interfaz de administración de Django.
Al hacer clic en this form podemos ir al formulario de restablecimiento de contraseña.