我使用Django 1.6,创建了一个自定义用户和一个自定义管理器,如下所示:
class MyManager(BaseUserManager): #create_user, create_superuser
def _create_user(self, username, dni, password, is_staff, is_superuser, **extra_dields):
if not username:
raise ValueError('Debes ingresar un Username')
#Hace referencia al usuario personalizado de abajo
user = self.model(username=username, dni=dni, is_active=True, is_staff=is_staff, is_superuser=is_superuser, **extra_dields)
user.set_password(password)
user.save(using=self._db)
return user
#El manager para crear un usuario sin permisos
def create_user(self, username, dni, password=None, **extra_dields):
return self._create_user(username, dni, password, False, False, **extra_dields)
#El manafer para crear usuarios con permisos
def create_superuser(self, username, dni, password, **extra_dields):
return self._create_user(username, dni, password, True, True, **extra_dields)
class Usuario(AbstractBaseUser, PermissionsMixin):
dni = models.IntegerField(unique=True)
username = models.CharField(unique=True, max_length=100)
nombre = models.CharField(max_length=140)
appelidos = models.CharField(max_length=200)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
objects = MyManager()
#Campo con el que se va a identificar en el sistema
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['dni']
我有一些问题与运行“管理”页面在我的本地主机/管理,并说
未实现错误位于/admin/
你知道会发生什么吗?=)
在文档Custom users and ^{} 中,要使用管理站点,您需要定义}方法。在
has_perm
和{此外,您还需要定义和注册模型管理类,如文档中所述。在
相关问题 更多 >
编程相关推荐