인프런 커뮤니티 질문&답변

kwonjiwoo님의 프로필 이미지
kwonjiwoo

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

포스팅 좋아요/취소 구현

is_like_user

작성

·

164

0

안녕하세요 선생님 !

좋아요 기능을 구현하던 중에, is_like_user 메서드를 왜 model 에서 정의하는지 궁금해서 질문 드립니다.

is_follow 와 같이 view 에서 정의한 후에 바로 템플릿에서 {%if is_like_user %} 로 넣으면 안되는 걸까요? 그리고 view 가 아니라 model 에서 정의하고 {%if is_like_user %} 이렇게 넣으면 안되는 걸까요..? ㅜㅜ

감사합니다 !!

답변 1

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

View에서 구현할 수도 있고 Model에서 구현할 수도 있습니다. 비즈니스 로직을 View에서 구현하기 보다, Model에 구현한다면 모델과 관련된 코드들을 보다 응집력있게 관리할 수 있게 됩니다.

User 클래스는 2개가 있습니다. User 모델과 비로그인 유저에 대한 AnonymousUser 파이썬 클래스인데요. is_follow 처리 시에는 비로그인 유저에 대한 처리도 필요하기 때문에, 모델에 메서드를 추가한다면 User 모델과 AnonymousUser 클래스에도 메서드가 추가되어야하는 상황입니다. 그런데, AnonymousUser 클래스는 변경하는 일반적인 방법이 제공되지 않기 때문에, 모델에 메서드로 추가를 안 하고 View 단에서 구현한 것입니다.

화이팅입니다. :-)

kwonjiwoo님의 프로필 이미지
kwonjiwoo

작성한 질문수

질문하기