por - recuperar contraseña django
¿Cómo restablecer la contraseña de administrador de Django? (14)
Estoy usando Django (versión 1.3) y he olvidado el nombre de usuario y la contraseña del administrador. ¿Cómo reiniciar ambos?
¿Y es posible convertir a un usuario normal en administrador y luego eliminar el estado de administrador?
-
python manage.py createsuperuser
creará otro superusuario, podrá iniciar sesión en admin y recordar su nombre de usuario. - Si por qué no.
Para otorgar privilegios a un usuario normal, abra un shell con python manage.py shell
e intente:
from django.contrib.auth.models import User
user = User.objects.get(username=''normaluser'')
user.is_superuser = True
user.save()
Cree un nuevo superusuario con el comando "python manage.py creauperuser". Inicie sesión como el nuevo superusuario. Haga clic en el enlace ''usuarios''. Luego haga clic en el usuario que desea eliminar. haga clic en eliminar usuario al final de la página del formulario.
Nota: el proceso anterior realizará cambios en los registros de actividad realizados por ese usuario en particular.
En caso de que no sepa los nombres de usuario como se crea aquí. Puede obtener los usuarios como se describe en @FallenAngel arriba.
python manage.py shell
from django.contrib.auth.models import User
usrs = User.objects.filter(is_superuser=True)
#identify the user
your_user = usrs.filter(username="yourusername")[0]
#youruser = usrs.get(username="yourusername")
#then set the password
Sin embargo, en el caso de que haya creado su modelo de usuario independiente. Un caso simple es cuando desea utilizar el correo electrónico como nombre de usuario en lugar del nombre de usuario predeterminado. En cuyo caso, su modelo de usuario vive en algún lugar, como su_cuentas_contactos.modelos, entonces la solución anterior no funcionará. En este caso, puede utilizar el método get_user_model
from django.contrib.auth import get_user_model
super_users = get_user_model().objects.filter(is_superuser=True)
#proceed to get identify your user
# and set their user password
Esta es una muy buena pregunta.
python manage.py changepassword nombre_usuario
Ejemplo: -
python manage.py changepassword mickey
Otra cosa que vale la pena mencionar es establecer el estado de su usuario is_staff
como activo. Al menos, eso es lo que hace que funcione para mí. Para más detalles, creé otro superuser
como las personas explicadas anteriormente. Luego voy a la base de datos auth_user
y busco ese nombre de usuario para asegurarme de que su is_staff
esté establecida en 1
. Eso finalmente me permitió iniciar sesión en el sitio de admin
.
Puede crear un nuevo superusuario con el comando createsuperuser
.
Puedes probar a través de la consola:
python manage.py shell
luego use el siguiente script en shell
from django.contrib.auth.models import User
User.objects.filter(is_superuser=True)
Enumeraremos a todos los superusuarios en el sistema. Si reconoces tu nombre de usuario de la lista:
usr = User.objects.get(username=''your username'')
usr.set_password(''raw password'')
usr.save()
y establece una nueva contraseña (:
Si olvidó crear un usuario administrador, primero compile uno con el comando manage.py
en manage.py
luego cambie la contraseña.
También es posible que haya respondido incorrectamente una pregunta de configuración y que no tenga miembros del personal. En cuyo caso dirígete a postgres:
obvioustest=# /c [yourdatabasename]
obvioustest=# /x
obvioustest=# select * from auth_user;
-[ RECORD 1 ]+-------------
id | 1
is_superuser | f
is_staff | f
...
Para corregir, edite directamente:
update auth_user set is_staff=''true'' where id=1;
Una de las mejores formas de recuperar el nombre de usuario y la contraseña es verlos y actualizarlos. El modelo de usuario proporciona una manera perfecta de hacerlo.
En este caso, estoy usando Django 1.9.
- Navegue a su directorio raíz i, e. donde se encuentra el archivo "manage.py" utilizando su consola u otra aplicación como Git.
- Recupere el shell de Python usando el comando "python manage.py shell".
- Importe el Modelo de Usuario escribiendo el siguiente comando "desde django.contrib.auth.models importar Usuario"
- Obtenga todos los usuarios escribiendo el siguiente comando "users = User.objects.all ()"
Imprima una lista de los usuarios. Para usuarios de Python 2 use el comando "imprimir usuarios" Para usuarios de Python 3 use el comando "imprimir (usuarios)" El primer usuario suele ser el administrador.
Seleccione el usuario que desea cambiar su contraseña, por ejemplo
"user = users[0]"
Establecer la contraseña
user.set_password(''name_of_the_new_password_for_user_selected'')
Guarda la nueva contraseña
"user.save()"
Inicie el servidor e inicie sesión con el nombre de usuario y la contraseña actualizada.
python manage.py changepassword nombre de usuario
la nueva configuración primero debe ejecutar python manage.py createsuperuser
para crear usuario. Parece que no hay una contraseña de nombre de usuario predeterminada para iniciar sesión en admin.
manage.py changepassword <user_name>