• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

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

21.09.22 14:22 작성 조회수 112

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

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

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

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

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

 context_object_name = target_user 

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

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

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


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