8강 장고 Template의 extends, include 구문과 render 함수의 8분부분 질문드립니다.
269
작성한 질문수 5
안녕하세요. 지금 강의를 다시본지 3번째인 것 같습니다.
이제 장고가 대충 어떤 느낌인진 알것같으나, 스스로 프로젝트를 처음부터 끝까지 만들라고하면 어떻게 해야할 지 막막해 강의를 3번째로 보게되었습니다. 강의를 듣던 중 8강의 8분정도에서 설명하신 pragmatic의 setting.py의 TEMPLATES에서 DIRS에 os.path.join(BASE_DIR, 'templates')가 구체적으로 어떻게 작동하는지 잘 모르겠습니다.
DIRS에 경로를 입력해주어야 한다라고 말씀하셨는데 보통 이DIRS의 [] 사이에는 무엇을 하기위해 주로 코드를 작성하나요?
os.path.join(BASE_DIR, 'templates')란 코드가 무슨 의미인지, 여기서 BASE_DIR는 무엇인가요?
'templates'만 적었음에도 accountapp의 view.py에서 base.html을 적으면 연결을 시켜준다고 하셨는데 이 부분이..이해가 되지 않습니다....
답변 1
0
안녕하세요!
질문 확인했습니다.
일단 BASE_DIR 가 무엇인지 확인을 하셔야 할것 같습니다.
이 변수는 settings.py 내부에 선언되어있습니다.
여기서 개략적으로 코드를 보게 되면,
Path(__file__).resolve() 여기까지가 이 settings.py 파일의 경로입니다.
그리고 이후 parent 가 두번이 나오죠?
이 settings.py 파일의 두번째 부모경로가 이 BASE_DIR 이라는 변수가 가지는 값입니다.
기본적으로 생성되었을때,
프로젝트 최상위 폴더가 BASE_DIR 가 되는거죠.
그리고 나서
os.path.join(BASE_DIR, 'templates')
코드를 보게 되면,
os 라는 것은 운영체제 관련 python 모듈이고,
os.path 라는 것은 그중에서도 운영체제 내 경로 관련한 모듈이라는 것이고,
os.path.join 이라는 것은 그 중에서도 join, 합치는 메서드라는 것입니다.
무엇을 합치는가?
라고 물었을때, join 메서드 안에 넣은 값들을 모두 합쳐 하나의 운영체제 상 경로로 되돌려주는 메서드입니다.
그렇다면 다시 보겠습니다.
os.path.join(BASE_DIR, 'templates')
이는 최상위 프로젝트 폴더 안에 있는 templates 라는 이름을 가진 폴더를,
템플릿이 들어있는 경로로 인식하겠다고 명시하는 작업입니다.
답변이 도움이 되셨을까요?
궁금증이 해결되지 않으셨다면 계속 질문 남겨주시길 바랍니다.
좋은하루 보내시구요!
감사합니다-
강의에 나왔던 js 파일이 깃허브에 없습니다
1
78
1
모바일 디버깅, 반응형 레이아웃 4분48초 질문
0
56
1
decorator 관련질문입니다.
0
63
1
PasswordChangeView
0
104
2
로그아웃뷰 작동 관련 (2025년 3월)
1
138
1
실행에러질문
0
158
1
@login_required 데코레이터 사용시 리다이렉트는 어디서 참조하여 설정을 하는걸까요?
0
116
1
CacheBackend 관련 에러
0
181
1
21강 CreateView를 통한 회원가입 구현 질문
0
325
1
53강 disallowedhost
0
346
2
502 Bad Gateway
0
474
0
mariadb 접근권한 오류
0
543
1
logout 후 빈 화면으로 이동합니다 ㅠㅠ
0
461
2
로그아웃 후 빈 화면으로 이동
0
333
1
서버 운영 관련 질문 드립니다.(Unable to retirve...)
0
232
1
static/base.css파일을 인식을 못합니다
0
380
1
안녕하세요 19강 디버깅 설정 질문있습니다.
0
291
1
프로필 update편 질문있습니다.
0
380
1
수업질문
0
395
1
COOP error
0
531
1
61강 Dockerfile error
0
597
1
static안에 base.css 에서 정의한 클래스가 적용되지 않습니다.
0
491
1
static 파일 중 jpg 파일만 로드 불가
0
419
1
58강 static 파일 적용 안됨
0
546
1





