본문 바로가기

Project/ToyProject

[Rmanager] Decorator

반응형

오늘의 공부 중점은 Django에서 제공하는 Decorator를 사용하여 페이지 권한을 쉽게 설정하는 법이었다

사용자 앱(현재는 fcuser 앱)에서 decorator.py를 만들어 wrap기능을 사용하여 함수를 만든다

두 가지로 만들었는데, 현재 쇼핑몰 프로젝트를 진행 중이어서

로그인을 했을 시 주문 가능하게 만들기 위해 login_required 함수를 설정하고

상품을 등록할 때는 일반 user가 아닌 admin 관리자만 등록할 수 있게 admin_required 함수도 설정하였다

오늘 처음 알게 된 modelt설정이 있는데

각 유저마다 레벨을 측정해 권한을 줄 수 있는 코드가 있었다.

코드를 이렇게 작성해서 각 유저마다 관리자 권한을 줄 수 있었고, 관리자 페이지에서 설정할 수 있었다

진행 과정에서 password 부분에서 글자 수 제한으로 인해 max_length를 128로 변경하였다

상품 페이지에서 @method_decorator(admin_required, name='dispatch') 한 줄 코드로 관리자만 상품을 등록할 수 있게

손쉽게 설정이 가능하였고

주문페이지에서는 일반'user'들만 주문할 수 있게 'login_required'를 설정하였다

아직은 인자 값을 가져오는 방법과 그 이유

self,*args,**kwargs 코드를 작성하는 과정은 이해가 잘 안 된다

자꾸 따라 치면서 계속적으로 반복되는 부분들은 점차 익숙해져가고 있다

자잘한 오류들은 불과 두 달 전만 해도 많이 막막했는데,

이제는 어디서 오류가 났는지 천천히 되돌아가면서 찾는 방법도 익숙해지고 있다

반응형

'Project > ToyProject' 카테고리의 다른 글

[Rmanager] Backoffice customizing  (0) 2021.07.31
[Rmanager] Backoffice - list_display/baton tema  (0) 2021.07.31
[Rmanager] generic view  (0) 2021.07.31
[Rmanager] Basic code/ login/ board  (0) 2021.07.31
[Rmanager] Basic tool  (0) 2021.07.31