작성
·
242
0
1.
@login_required
=> 로그인시 사용하는 것은 알겠는데, 적용 후
return는 설정한 대로 accountapp/hello_world.html로
오게 되나요?
2.
@method_decorator
정확한 용도를 모르겠어요 ㅜㅜ
@method_decorator의 역할을 알아야
@method_decorator(has_ownership, 'get')의 뜻도
좀 와닿을 거 같은데.. 이 코드는
has_ownership 안의 2리스트인
account_ownership_required와 login_required를
담고 그것을 사용하려고 하는 거 같은데...
좀 더 설명 부탁드려도 될까요...?
답변 1
0
안녕하세요.
질문 확인했습니다.
1. 로그인 이후 되돌아 오는 것이 맞습니다.
이전 login 과정을 만들때 말씀드린 것 처럼, next 라는 값이 주소창으로 넘어가게 되고,
해당 값을 기반으로 hello_world 페이지로 되돌아오게 될거에요.
물론 설정값을 다르게 함으로서 해당 기능을 다르게 할 수도 있습니다.
2. method_decorator 의 정확한 정의는 공식 문서와 함께 답변드리겠습니다.
https://docs.djangoproject.com/en/3.2/ref/utils/#django.utils.decorators.method_decorator
위의 문서를 보시면 알겠지만,
파이썬에서 보통 decorator 는 함수에 적용됩니다.
그런데, 지금 저희가 로직을 짜는 내용은 대부분 Class Based View 에 기반을 두고 있죠.
그렇기 때문에 저희는 function이 아닌, class 내부의 메서드에 데코레이터를 적용하고 싶은겁니다.
이렇게 함수에 적용하는 decorator 를 메서드에도 적용하기 위해서
데코레이터를 변환시켜주는 작업을 해주는 데코레이터가 method_decorator 라고 생각하시면 되겠습니다.
답변이 도움이 되셨으면 좋겠네요.
좋은하루 보내시구요!
감사합니다-