A partir de Django 1.2 se ha añadido el comando manage.py changepassword.

python $ ./manage.py changepassword ['username']

Si no proporcionamos un nombre de usuario se intentará cambiar el nombre de usuario que concuerde con el del usuario que ha iniciado sesión. Este comando nos ahorra escribir lo siguiente:

```python

from django.contrib.auth.models import User u = User.objects.get(username__exact='john') u.set_password('new password') u.save() ```

Django Admin Login

El usuario administrador es el primer usuario del sistema por lo que podemos escribir:

```python

from django.contrib.auth.models import User u = User.objects.get(pk=1) u.is_superuser True u.username 'bofh' u.set_password('new password') u.save() ```

Es importante usar set_password y no asignar la contraseña directamente, ya que la contraseña se guarda con un formato que set_password, y también check_password, gestiona correctamente. La contraseña se guarda junto con el tipo de hash y la sal, una cadena aleatoria utilizada junto con la contraseña para crear el hash. Por ejemplo,

sha1$a1976$a36cc8cbf81742a8fb52e221aaeab48ed7f58ab4


Entradas relacionadas