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

장우경님의 프로필 이미지
장우경

작성한 질문수

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지

DetailView를 이용한 개인 페이지 구현

header.html에 context_object_name 미적용 이유 질문

작성

·

154

0

header.html에 

<a href="{% url 'accountapp:detail' pk=user.pk %}">

    <span>내정보</span>

</a>

views.py에서는 context_object_name = target_user 로 했는데 여기서는 pk = target_user.pk 로 안 해도 되는 이유가 있을까요~??

답변 1

1

Hyong Sok Park님의 프로필 이미지
Hyong Sok Park
지식공유자

안녕하세요.
질문 확인했습니다.

해당 내용은 user.pk 로 설정을 해주셔야 합니다.

이유는 지금 해당 내용을 작성하고 있는 곳이
header.html 파일 내부이기 때문입니다.

헤더 HTML 파일은 저희 사이트 전체에 적용되는 템플릿 파일입니다.
그런데, 말씀하신 

 context_object_name = target_user 

위의 설정은,
해당 코드가 존재하는 View 내에서만 적용되는 설정값입니다.

지금 현재는, 강좌 초반이기 때문에
대부분의 context_object_name 이 target_user 로 설정되겠지만,
추후 강좌가 진행됨에 따라 target_user 뿐만 아니라 다른 값들도 나오게 될겁니다.

그렇게 되면 target_user 로 설정되지 않은 페이지에 접속하게 되면
해당 값을 인식하지 못하는 에러가 발생하게 되겠죠.


답변이 도움이 되셨길 바래요!
감사합니다-

장우경님의 프로필 이미지
장우경

작성한 질문수

질문하기