Django 클래스 뷰 추가 장식기
3024 단어 Django
from functools import wraps
def count_time_cost(func):
@wraps(func)
def wrapper(*args, **kwargs):
start = datetime.datetime.now()
r = func(*args, **kwargs)
end = datetime.datetime.now()
LOG.info("Django view function run finished! Task_message : {} Cost_time : {}".format(r.data.get("msg"),
(end - start)))
return r
return wrapper
class VolumeQueryNew(APIView):
@method_decorator(count_time_cost)
def get(self, request, *args, **kwargs):
zone_id = request.query_params.get("zoneid")
volume_uuid = request.query_params.get("volume_uuid") or request.query_params.get("volume_id")
rc = get_rc_by_udc(request)
add_mark = "1"
volume_filtered_info = []
try:
msg = 'Get all volume info successfully!'
LOG.info("volumes info is{}".format(str(volume_filtered_info)))
pagination_class = APIViewPagePagination
return common_page_response(volume_filtered_info, request, msg, pagination_class)
except Exception as e:
LOG.exception("failed to get volumes!error exception msg{}".format(e))
return common_error_response("failed to get volumes!error msg",
FAILED_TO_GET_ALL_VOLUMES)
참조:https://docs.djangoproject.com/en/1.8/topics/class-based-views/intro/#decorating-the-class
http://www.jb51.net/article/61454.htm
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.