Estoy usando Django (versión 1.3) y he olvidado el nombre de usuario y la contraseña de administrador. ¿Cómo restablecer ambos?
¿Y es posible convertir a un usuario normal en administrador y luego eliminar el estado de administrador?
python manage.py changepassword <user_name>
manage.py createsuperuser
crear un segundo superusuario y luego ver la lista de Usuarios para encontrar el original. Luego inicie sesión como el original y elimine el nuevo superusuario.python manage.py createsuperuser
creará otro superusuario, podrá iniciar sesión en admin y recordar su nombre de usuario.Para otorgar privilegios de usuario normales, abra un shell con
python manage.py shell
e intente:fuente
user.is_staff = True
Puedes probar a través de la consola:
luego use el siguiente script en shell
te listará a todos los súper usuarios en el sistema. si reconoce su nombre de usuario de la lista:
y estableces una nueva contraseña (:
fuente
User.objects.filter(is_superuser=True)
pip install django-extensions
, agrégaloinstalled apps
y ejecuta./manage.py shell_plus
. LaUser
clase estará disponible y tú puedespassword-change
.Puede crear un nuevo superusuario con
createsuperuser
comando.fuente
Esta es una muy buena pregunta.
python manage.py changepassword nombre_usuario
Ejemplo:
fuente
La nueva configuración debe ejecutarse primero
python manage.py createsuperuser
para crear un usuario. Parece que no hay una contraseña de nombre de usuario predeterminada para iniciar sesión en admin.fuente
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
Imprima una lista de los usuarios. Para los usuarios de Python 2, use el comando "usuarios de impresión". Para los usuarios de Python 3, use el comando "imprimir (usuarios)". El primer usuario suele ser el administrador.
Seleccione el usuario al que desea cambiar su contraseña, p. Ej.
"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.
fuente
manage.py changepassword
es que no está restringido a las contraseñas que puede o no puede usar, ya no es demasiado similar a la basura del nombre de usuario. (Esto está en mi entorno de desarrollo. No estoy abogando por contraseñas más débiles. Siempre debes usar contraseñas seguras en prod.)También es posible que haya respondido mal una pregunta de configuración y que no tenga ningún miembro del personal. En cuyo caso, dirígete a postgres:
Para arreglar, edite directamente:
fuente
Dos formas de hacer esto:
El
changepassword
comando de gestión :O (que se expande con algunas respuestas, pero funciona para cualquier modelo de Usuario extendido) usando el shell django-admin de la siguiente manera:
Esto debería mostrar el símbolo del sistema de la siguiente manera:
Entonces querrías lo siguiente:
NB ¿Por qué he respondido esta pregunta con esta respuesta?
Porque, como se mencionó,
User = get_user_model()
funcionará para sus propiosUser
modelos personalizados . Usarfrom django.contrib.auth.models import User
entoncesUser.objects.get(username='username')
puede arrojar el siguiente error:fuente
Si olvidó crear un usuario administrador, primero cree uno con el
createsuperuser
comando activado ymanage.py
luego cambie la contraseña.fuente
Puedes probar esto:
1.Cambie la contraseña del superusuario sin consola
2.Cambie la contraseña del superusuario a través de la consola
fuente
En caso de que no conozca los nombres de usuario tal como se crean aquí. Puede obtener los usuarios como se describe anteriormente en @FallenAngel.
Sin embargo, en 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 your_accounts_app.models, la solución anterior no funcionará. En este caso, puede utilizar el método get_user_model
fuente
si olvida a su administrador, entonces necesita crear un nuevo usuario usando
y para la contraseña hay un comando CLI
changepassword
para que django cambie la contraseña del usuarioO
O Ejecute este código en Django env
fuente
Otra cosa que vale la pena señalar 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é otrosuperuser
como la gente explicó anteriormente. Luego voy a la tabla de la base de datosauth_user
y busco ese nombre de usuario para asegurarme de que suis_staff
bandera esté configurada1
. Eso finalmente me permitió iniciar sesión en eladmin
sitio.fuente
Cree un nuevo superusuario con el comando "python manage.py createduperuser". Inicie sesión como el nuevo súper usuario. 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.
fuente
python manage.py changepassword nombre de usuario
fuente
utilizar
luego mira al final encontrarás el nombre de usuario
fuente
La mejor manera es ir a su terminal y escribir
e inserte otra contraseña y nombre de usuario nuevamente, pero perderá parte de su perfil que ha creado antes en la mayoría de los casos.
fuente
Creo que la mejor manera en la línea de comando
fuente
Es muy fácil simplemente escriba este comando en su línea de comando
python manage.py changepassword yourusername
fuente
Otra forma de obtener el nombre de usuario (y la mayoría de la información) es acceder a la base de datos directamente y leer la información de las tablas.
fuente