inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

24강 html 파일 안에서 변수 사용 질문 (context 관련)

344

고대훈

작성한 질문수 4

0

제가 여태까지 강의를 들으면서 이해하기로는

html 파일 안에서 특정 변수를 쓸 때 views.py에서 context 구문 안에 변수를 넣어 보내는 걸로 이해했습니다.

예를 들어, hello_world view에선

context ={ 'hello_world_list' : hello_world_list }

이런 식으로 'hello_world_list'라는 이름의 변수에 hello_world_list를 할당(?)해서 html 안에서

{% if hello_world_list %} 이런 식으로 쓸 수 있는 걸로 이해했습니다.

만약 제 생각이 맞다면,  DetailView에서는 따로 user 라는 이름에 할당한 변수가 없는데 어떻게 바로 user라는 변수를 가져와서 쓸 수 있는건가요?

class 기반의 view는 function 기반의 view와는 달리 작동하는 건가요?

django python docker

답변 1

0

Hyong Sok Park

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

말씀하신대로, Template 단에서 어떤 객체를 사용하기 위해선
View 단에서 해당 객체를 넘겨주어야 사용이 가능합니다.

하지만, View 에서 넘겨주는 값 말고도 사용이 가능한 객체가 있는데,
그 중에 하나가 user 객체입니다.

User 는 웹 서비스에 있어서 특수한 자원입니다.
어떤 웹서비스든 대부분 계정을 중심으로 인증이 진행되기 때문에,
django 프레임워크 또한 템플릿 단에서 User 객체에 편리하게 접근할 수 있도록 
Template context 안에 user 객체를 미리 넣어둡니다.

자세한 내용은 장고 공식문서를 참고하시길 바랍니다.

https://docs.djangoproject.com/en/3.2/ref/templates/api/#built-in-template-context-processors

https://docs.djangoproject.com/en/3.2/topics/auth/default/#authentication-data-in-templates

 
결과적으로,
function based view 와의 동작 구조 차이가 있는것이 아니라,
기본적으로 django template 안에서 사용가능한 user 라는 객체가 존재한다고 생각하시면 되겠습니다.

답변이 도움 되셨길 바랍니다!

좋은하루 보내시구요-
감사합니다!

0

고대훈

친절한 답변 정말 감사합니다!

강의에 나왔던 js 파일이 깃허브에 없습니다

1

79

1

모바일 디버깅, 반응형 레이아웃 4분48초 질문

0

57

1

decorator 관련질문입니다.

0

63

1

PasswordChangeView

0

104

2

로그아웃뷰 작동 관련 (2025년 3월)

1

138

1

실행에러질문

0

159

1

@login_required 데코레이터 사용시 리다이렉트는 어디서 참조하여 설정을 하는걸까요?

0

116

1

CacheBackend 관련 에러

0

181

1

21강 CreateView를 통한 회원가입 구현 질문

0

326

1

53강 disallowedhost

0

347

2

502 Bad Gateway

0

474

0

mariadb 접근권한 오류

0

546

1

logout 후 빈 화면으로 이동합니다 ㅠㅠ

0

462

2

로그아웃 후 빈 화면으로 이동

0

333

1

서버 운영 관련 질문 드립니다.(Unable to retirve...)

0

232

1

static/base.css파일을 인식을 못합니다

0

383

1

안녕하세요 19강 디버깅 설정 질문있습니다.

0

292

1

프로필 update편 질문있습니다.

0

380

1

수업질문

0

395

1

COOP error

0

531

1

61강 Dockerfile error

0

598

1

static안에 base.css 에서 정의한 클래스가 적용되지 않습니다.

0

492

1

static 파일 중 jpg 파일만 로드 불가

0

419

1

58강 static 파일 적용 안됨

0

548

1