Django - 데코레이터 적용 하는 방법 - FBV, CBV

전처리, 혹은 사용자가 중복으로 필요한 기능을 모아서 데코레이터로 작성해 두는 경우가 많다. 대부부의 함수에 적용시키거나 특정 함수에서 필요한 기능을 부분부분 적용시키는 데 최적이다.

 

일단 만들고 나면 대상 함수, 클래스에 적용하는 방법을 알아야 한다. Fuction based view 와 Class based view 에 적용 방법이 각각 다르다. 

아래 사이트에 아주 잘 설명이 되어 있다. 원본 사이트로 들어가서 보시면 제 맘에 부담이 덜하겠네요 공부하는 것을 기록해 두는 용도지만 작성자의 노고를 위해서는 사이트로 가서 봐줘요

https://parkhyeonchae.github.io/2020/03/25/django-project-05/#2-decorator-%EC%A0%81%EC%9A%A9

 

그래도 정리해보면, 

 

일반적인 FBV 에서 적용은 그냥 @데코레이터이름

 

@login_message_required
def example_def(request):
    pass

 
CBV 에서는 약간 다르네 
method_decorator 란 놈을 import 해서, 이를 이용해서 적용할 수 있네.
 
from django.utils.decorators import method_decorator
@method_decorator(logout_message_required, name='dispatch')
class ExampleClass(View):
    pass

 

이상.

어휴 뷰가 그냥.. 태우면서 자고 싶은 해변가 장식이 필요없는 뷰뷰

Ben Mack 님의 사진, 출처: Pexels