• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

공지사항같은 관리자만 작성하는 글을쓰게 하기위해선 USER모델을 커스텀해야하나요?

21.08.22 20:06 작성 조회수 144

0

안녕하세요 좋은 강의 감사합니다 여쭤볼게 있어서 질문드립니다! 

BaseUserManager, AbstractBaseUser 로 user모델을 커스텀해서 superuser인지 아닌지 데코레이터로 만들어야하나요 

아니면 더 간단한 방법이 있을까요?

답변 1

답변을 작성해보세요.

1

안녕하세요.
질문 확인했습니다.

말씀하신 기능을 구현하기 위해서 정답은 없습니다.
여러가지 방법으로 구현이 가능하겠지만,
말씀하신대로 데코레이터를 기반으로 구현도 가능하겠죠.

project, 즉 게시판에 해당하는 모델에 추가적인 컬럼을 넣어서,
특정 게시판에 글을 쓸때마다 superuser 여부를 확인하는 데코레이터를 만들 수 있겠네요.

그리고 제가 강좌에 포함하지는 않았지만,
데코레이터 형식으로 조금 더 복잡한 권한 관련 기능을 구현해야할 필요가 있자면,
django 에서 제공하는 permission 기능을 살펴보시는 것도 좋습니다.

https://docs.djangoproject.com/en/3.2/topics/auth/default/#permissions-and-authorization

그리고 굳이 User 모델을 커스터마이징 하지 않더라도,
기본 제공되는 User 객체에도 is_superuser 와 같은 값이 내장되어 있기 때문에,
superuser 확인을 위해 꼭 상속을 받아 구현하지 않으셔도 됩니다.

강좌에서 사용한 User 객체도 AbstractUser 의 자식 클래스입니다.

답변이 도움이 되셨길 바래요!

좋은하루 보내시구요.
감사합니다-