inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

Bootstrap4를 활용한 기본 레이아웃 구현

해결되지 않은 템플릿 참조오류가 뜹니다

해결된 질문

1061

yezi9733

작성한 질문수 25

0

Common

common.png

wsgi & asgi

wsgi & asgi.png

urls.py

urls.py.png

layout.html

layout.png

root.html

root.png

웹 페이지

웹페이지.png파이참 django 프로젝트내에서 왜인지 모르게 static파일이랑 templates 경로를 인식하지 못하는거 같습니다.

그런데 runserver로해서 구동했을경우에는 정상적으로 적용이돼서 나오네요.

 

settings

settings.png

다만 settings 파일을 원래경로에 다시 만들고 BASE_DIR = dirname(dirname(abspath(__file__)))으로 dirname을 한단계 내리게되면 참조 오류가 해결이됩니다. 왜 이러는걸까요?

 

python react docker django

답변 1

0

이진석

안녕하세요.

말씀하신 대로 마지막에 답이 있네요.

BASE_DIR 설정에 따라 찾지못하는 템플릿/static 파일이군요. 그 파일들은 BASE_DIR 설정을 통해 템플릿 경로, static 경로를 계산하는 파일들이구요.

settings 파일에 보시면, TEMPLATES내 DIRS 설정을 통해 지정하는 경로에 root.html 파일이 있을 것이구요. STATICFILES_DIRS를 통해 지정하는 경로에 오류의 static 파일이 있었을 것입니다. 두 설정 모두 BASE_DIR 값을 사용하고 있죠.

BASE_DIR 값은 manage.py 파일이 있는 디렉토리의 경로를 지정해야만 합니다. 일반적으로 settings 파일로부터 부모/부모를 찾아가며 경로를 지정하는 데, settings 파일의 깊이가 한 단계 깊어졌다면 BASE_DIR 계산시에도 dirname 을 한 번 더 써주어 부모를 한 단계 위에서 찾아가도록 해야만 합니다.

차근차근 정리해보시고 또 질문 남겨주세요.

화이팅입니다. :-)

0

yezi9733

넵 그래서 첫번째 Common 이미지에서처럼 dirname을 한번 더 써주었는데도 저렇게 참조오류가 뜨더라고요

제목 없음.png제목 없음2.png

settings.py파일을 settings폴더에 common.py이름으로 옮겨서 BASE_DIR값에 dirname을 한번 더 써주었는데도 참조가 안되네요... ㅜ

0

이진석

BASE_DIR 값과 STATICFILES_DIRS 설정, TEMPLATES의 DIRS 설정등이 각 템플릿/static 파일이 저장된 경로로 올바르게 지정하셨는 지 확인을 먼저 하셔야 합니다.

장고 쉘을 구동하셔서 python mange.py shell 명령, 장고 settings를 임포트 하신 후에, from django.conf import settings
settings.BASE_DIR 등의 값을 확인해보세요.

참조가 될 때가 있고, 안 될 때가 있으니, 될 때에는 어떤 설정값을 가지고 안 될 때는 어떤 설정값을 가지는 지 확인을 하시면, 에러를 올바르게 이해하실 수 있습니다.

어쩌다보니 에러가 사라졌다. 가 아니라, 내가 이런 이런 값으로 설정을 올바르게 했음을 확신할 수 있어야, 실력이 향상이 됩니다.

설정이 모두 올바른 데, 희소한 확률도 툴에서 제대로 인지를 못할 때도 있습니다. 그럴 때는 대개 개발툴을 재시작시켜주거나, 개발툴의 캐시 초기화 명령을 수행해보기도 합니다. 그런데 이 경우는 그 케이스는 아닌 듯 하네요.

차근차근 코드를 확인하시며 정리하시는 것이, 에러를 해결하는 가장 빠른 방법입니다.

정리해보시고, 각 파일들의 경로와 각 설정들이 어떻게 되는 지 알려주시겠어요?

0

yezi9733

image

네 알려주신 명령어대로 하니깐 경로가 이렇게 나옵니다!!

 

0

이진석

BASE_DIR 뿐만 아니라, STATICFILES_DIRS 및 TEMPLATES 설정값도 확인해보시고,

STATICFILES_DIRS와 TEMPLATES에 지정한 폴더의 실제 경로도 확인해보시고,

윈도우탐색기를 통해 STATICFILES_DIRS와 TEMPLATES에 지정한 폴더 내에 저장한 root.html 및 static 파일의 실제경로도 확인해보시겠어요?

0

yezi9733

image


image

image


image



image네 말씀하신대로 경로들을 전부 불러와봤습니다 아직도 참조를 못하네요 ㅜ

0

이진석

웹브라우저를 통해 장고 웹서버에 접속했을 때 static/template 파일은 로딩이 되고 있나요?

장고 웹서버에서는 처리가 되는 데, 파이참에서 밑줄이 뜨는 경고가 뜨신 다는 것인가요?

장고 웹서버에서의 처리와 파이참에서의 처리는 서로 다릅니다. 파이참은 장고와는 별개로 파이참 나름의 추론을 할 뿐인거죠.

그러니 위에서 알려드린 대로 각 설정을 하시면 장고에서의 처리는 잘 되셔야 합니다.

그리고 각 장고앱이 아닌 별도 경로에 생성하신 static 파일과 templates 경로에 대해 파이참에서 자동완성이 잘 안된다면, 수동으로 찾아올 경로를 지정해주실 수 있습니다.

askcompany/templates 폴더의 경우 파이참에서 해당 폴더를 우클릭 후에 "Mark Directory as" 메뉴에서 "Template Folder"를 지정해주시고, askcompany/static 폴더의 경우 "Sources Root" 로 지정하신 후에, 파이참을 껐다가 재시작해주시면, 파이참에서 수동으로 지정하신 경로를 참조하시게 됩니다.

0

yezi9733

imageimage

image

image

네 말씀하신대로 장고 웹서버에서 처리가 되는데 파이참에서 밑줄 경고가 뜹니다!

templates는 Template Folder로, static폴더는 Sources Root로 지정해주었는데 urls의 root.html 참조오류는 해결되었지만 html에서 static으로 부트스트랩을 불러올때에는 밑줄로 참조오류가 떠버리네요 ㅜㅜ

 

 

0

이진석

File > Invalidate Caches / Restart... 메뉴를 통해 모든 캐싱 내역을 초기화해보시면 어떨까요?

0

yezi9733

네 여전히 안되네요 ㅜㅜㅜ 머가 문제인지 알고싶은데 알기가 넘힘드네요 파이참문제인건 확실한거같습니다.

0

yezi9733

imageimagebootstrap5 라이브러리 또한 안불러와집니다 그런데 웹사이트에서는 적용은되네요 저만 그런건지 파이참문제인건지 settings 분리할때에만 참조오류가 뜹니다 프로젝트 첨부터 만들어봐도 똑같네요

1

이진석

아. 그런 부분이라면

파이참의 프로젝트 설정에서 Django 설정에서 django support 활성화 항목이 있습니다.

여기에 settings 경로 지정항목이 있으니, 여기를 확인해보시고 맞게 변경해보시겠어요?

0

yezi9733

바로해결되었네요 정말 감사합니다!! 강의도 필요한 내용들 자세하게 설명해주시고 질문글에 답변도 계속달아주셔서 모르는 문제도 해결할 수 있었네요 강의 구매를 참 잘한거같습니다. 오류해결 답변해주시느라 고생하셨어요 언제나 좋은하루되세요!

0

이진석

고생많으셨습니다.

화이팅입니다. 👍

안녕하세요.

0

62

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

285

1

useEffect 훅에서 else 유무에 따른 결과

0

222

1

useAxios 훅의 dependency array 설정

0

254

1

useEffect에서 변수 업데이트 관련 질문

0

389

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

276

1

bootstrap4

0

480

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

374

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

578

3

useState는 필수일까요?

0

272

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

610

4

Django allauth를 사용한 소셜 로그인 시 에러

0

660

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

569

2

useLocalStorage() 함수 사용여부

0

237

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

453

1

리듀서의 의미 재확인

0

439

1

simple-jwt Refresh Token 사용 노하우

0

906

2

docker compose 를 통한 배포 관련 오류 문의

0

686

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

372

1

is_like_user

0

238

1

related_name 오류

0

278

1

re_path 오류

0

265

1

re_path url

0

255

1

No post matches the given query

0

671

2