Django自定义用户和管理pag的问题

2024-09-30 22:20:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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/

你知道会发生什么吗?=)


Tags: selftruereturnismodelsdefcreateusername
1条回答
网友
1楼 · 发布于 2024-09-30 22:20:48

在文档Custom users and ^{}中,要使用管理站点,您需要定义has_perm和{}方法。在

此外,您还需要定义和注册模型管理类,如文档中所述。在

相关问题 更多 >