취미삼아 배우는 프로그래밍

초등학교 학교게시판 만들기. 본문

코드 자가리뷰(장고)

초등학교 학교게시판 만들기.

Nadure 2020. 4. 19. 23:23

조금 더 추가된 거라면

구성원 관리 페이지에서의 필터용 widget(현재는 모양만)

 

 

 

 

그리고 댓글 기능을 넣었다

이 페이지네이션은 직접만들었다.. 하..

 

 

 

그 외의 부분은 권한 문제에 대한 내부적인 코드 수정이 조금 있었다

이 부분은 학생도 글을 쓸 수 있게 해달라고 하여서 추가된 부분인데,

계정의 역할(Role)이 학생일 경우 반 선택과 체크박스들을 모두 숨긴다.(자바스크립트로 했다.)

조금(..?) 보안상 문제가 될 수도 있겠으나,,

 

모르겠다.

어차피 파는거도아니고 친구한테 그냥 만들어주는거라..

 

아 근데 만들고 보니 

글 수정, 삭제

댓글 수정, 삭제

이게 없더라

망했다.

 

 

 

코드상 되게 유용했던 코드

* 역할 제한( Role ) 데코레이터 사용

## 역할 확인 데코레이터
def allowed_users_decorator(allowed_roles=[]):
    def decorator(view_func):
        def wrapper_func(request, *args, **kwargs):
            user_role = UserRole.objects.get(id=request.user.id).UserType # Get User Role
            if(user_role in allowed_roles):
                return view_func(request, *args, **kwargs)
            else:
                return HttpResponse('Permission Denied')
        return wrapper_func
    return decorator
    
    
## To Use
### 유저에게 지정된 역할이 allowed_roles에 없으면 못들어간다.
@allowed_users_decorator(allowed_roles=['Teacher'])
def group_manage(request):
    # TODO manage user page
    # using session > filter options
    """
    Show Users, Auth manage
    """
    #....

 

 

 

Comments