파이썬의 Decorator 패턴을 이용해 자주 쓰이는 코드들을 줄여본다. 장고에서 기본 제공하는 데코레이터 부터 커스터마이징 한 데코레이터로 27강에서 만든 인증시스템 코드 볼륨을 줄인다.
Decorator
ex...
check Start time
Check End time
form datetime import datetime
def function1():
print(datetime.now())
print(”Function 1 Start”)
print(datetime.now())
def function2():
print(datetime.now())
print(”Function 2 Start”)
print(datetime.now())
def function3():
print(datetime.now())
print(”Function 3 Start”)
print(datetime.now())
Python
복사
@login_required
@method(decorator(has_ownership, ‘get’)
@method(decorator(has_ownership, ‘post’)
@method(decorator(has_ownership, ‘get’)
@method(decorator(has_ownership, ‘post’)
def function2():
print(datetime.now())
print(”Function 1 Start”)
print(datetime.now())
def function2():
print(datetime.now())
print(”Function 1 Start”)
print(datetime.now())
print(datetime.now())
print(”Function 1 Start”)
print(datetime.now())