Django - (7)

이정인·2023년 5월 18일
0

Django_기말

목록 보기
7/11


# Decorator

  • 파이썬에서 제공하는 기능
  • 코드의 가독성을 높이기 위해 반복되는 부분에 사용함.

# views.py 수정하기

  • 클래스 내부의 함수는 메서드로, decorator를 적용할 수 없다.

  • AccountUpdateView()
    ->get, post 메서드 삭제

    -> @method_decorator추가 : 함수에 적용할 수 있는 것들을 메서드에도 동일하게 적용할 수 있도록 해주는 것

@method_decorator(login_required, 'get')
@method_decorator(login_required, 'post')

  • 위와 동일하게 DeleteView에도 적용

# 커스텀 Decorator 만들기

  • decorators.py 파일 만들기

  • 코드 작성하기

  • views.py의 AccountUpdateView와 DeleteView에 코드 추가하기

# 배열 추가
has_ownership = [account_ownership_required, login_required]

...

@method_decorator(account_ownership_required, 'get')
@method_decorator(account_ownership_required, 'post')
  • 기존 4줄의 method_decorator를 배열을 사용해 2줄로 줄이기

profile
둉이닝

0개의 댓글

관련 채용 정보