24강 html 파일 안에서 변수 사용 질문 (context 관련)
344
작성한 질문수 4
제가 여태까지 강의를 들으면서 이해하기로는
html 파일 안에서 특정 변수를 쓸 때 views.py에서 context 구문 안에 변수를 넣어 보내는 걸로 이해했습니다.
예를 들어, hello_world view에선
이런 식으로 'hello_world_list'라는 이름의 변수에 hello_world_list를 할당(?)해서 html 안에서
{% if hello_world_list %} 이런 식으로 쓸 수 있는 걸로 이해했습니다.
만약 제 생각이 맞다면, DetailView에서는 따로 user 라는 이름에 할당한 변수가 없는데 어떻게 바로 user라는 변수를 가져와서 쓸 수 있는건가요?
class 기반의 view는 function 기반의 view와는 달리 작동하는 건가요?
답변 1
0
안녕하세요.
질문 확인했습니다.
말씀하신대로, 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 라는 객체가 존재한다고 생각하시면 되겠습니다.
답변이 도움 되셨길 바랍니다!
좋은하루 보내시구요-
감사합니다!
강의에 나왔던 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





