오늘의 공부 중점은 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 |