개발 기록

[Django] admin 계정 관련 오류 본문

Python/Django

[Django] admin 계정 관련 오류

수염차 2022. 4. 5. 23:30

1. 'User' object has no attribute 'has_module_perms'

admin 계정을 만들고 로그인 했더니 뜬 에러

검색해보니 커스텀 유저를 사용해서 그런 것 같다 PermissionsMixin를 추가해줌

문서를 참고- PermissionsMixin는 사용자 모델의 클래스 계층에 포함할 수 있는 추상 모델로, Django의 권한 모델을 지원하는 데 필요한 모든 메서드와 데이터베이스 필드를 제공한다고 한다

class User(AbstractBaseUser,PermissionsMixin):
    id = models.AutoField(primary_key=True)

제공하는 속성 중 하나

https://docs.djangoproject.com/en/4.0/topics/auth/customizing/#custom-users-and-permissions

 

Customizing authentication in Django | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

 

2. You don't have permission to edit anything

저렇게 하고 다시 생성 후 로그인을 했는데 이번엔 권한이 없단다 

usermanager클래스에 user.is_superuser = True 추가

class UserManager(BaseUserManager):
    # All user
	...

    # admin user
    def create_superuser(self, email, password=None):

        user = self.create_user(
            email,
            password=password,
        )
        user.is_staff = True
        user.is_superuser = True //슈퍼유저임을 알려주는 코드 추가
        user.save(using=self._db)
        return user

 

Comments