> El objeto User (cuando haces un u = Usuario()) tiene un metodo
> set_password()
> 2010/1/26 Martín Muñoz <martinm...@gmail.com>:
> > Estoy intentando extender el modelo de usuarios de django pero me aparece
> un
> > problema, al crear el usuario no encripta la clave.
> > No aparece el formulario que aparece cuando se crea un usuario django, en
> el
> > que muestra:
> > username
> > password
> > password(again)
> > Pasa directamente a llenar datos del usuario sin pasar por ese
> formulario,
> > entonces la clave se guarda sin encriptar.
> > ¿Como puedo hacer para que aparesca ese formulario y se encripte la
> clave?
> > Este es el modelo:
> > class Usuario(User):
> > anexo = models.CharField(max_length=30)
> > # Use UserManager to get the create_user method, etc.
> > objects = UserManager()
> > def __str__(self):
> > return self.username
> > class Admin:
> > pass
> > En settings agregué:
> > AUTHENTICATION_BACKENDS = (
> > 'cliente_django.auth_backends.CustomUserModelBackend',
> > )
> > CUSTOM_USER_MODEL = 'mi_cliente.Usuario'
> > Agregué el archivo auth_backends.py para que use el modelo Usuario y no
> > User.
> > check_pasword no funciona porque no está encriptada la clave.
> > from django.conf import settings
> > from django.contrib.auth.backends import ModelBackend
> > from django.core.exceptions import ImproperlyConfigured
> > from django.db.models import get_model
> > class CustomUserModelBackend(ModelBackend):
> > def authenticate(self, username=None, password=None):
> > try:
> > user = self.user_class.objects.get(username=username)
> > if password == user.password:#user.check_password(password):
> > return user
> > except self.user_class.DoesNotExist:
> > return None
> > def get_user(self, user_id):
> > try:
> > return self.user_class.objects.get(pk=user_id)
> > except self.user_class.DoesNotExist:
> > return None
> > @property
> > def user_class(self):
> > if not hasattr(self, '_user_class'):
> > self._user_class =
> > get_model(*settings.CUSTOM_USER_MODEL.split('.', 2))
> > if not self._user_class:
> > raise ImproperlyConfigured('Could not get custom user
> > model')
> > return self._user_class
> > Espero sus respuestas,
> > Gracias
> > Les comunico mis avances.
> > --
> > Bachiller en Sistemas Martín Muñoz del Río
> > --
> > Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios
> del
> > Framework Django de habla hispana" de Grupos de Google.
> > Si quieres publicar en este grupo, envía un mensaje de correo
> > electrónico a django-es@googlegroups.com
> > Para anular la suscripción a este grupo, envíe un mensaje a
> > django-es-unsubscribe@googlegroups.com
> > Para obtener más opciones, visita este grupo en
> > http://groups.google.com.bo/group/django-es.
> --
> Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios
> del Framework Django de habla hispana" de Grupos de Google.
> Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a django-es@googlegroups.com
> Para anular la suscripción a este grupo, envíe un mensaje a
> django-es-unsubscribe@googlegroups.com
> Para obtener más opciones, visita este grupo en
> http://groups.google.com.bo/group/django-es.
P Antes de imprimir este mensaje, asegúrese de que es necesario. El medio
ambiente está en nuestras manos. ü Ahorra papel