인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

audtls107님의 프로필 이미지
audtls107

작성한 질문수

<M.B.I.T> 테스트 페이지 만들기! with Django

static file과 settings

image load 오류 질문입니다!

작성

·

217

0

강의를 들으면서 많이 배우고 있습니다!

jeju.jpg 파일이 화면에 뜨지 않는 오류를 겪고 있습니다. 강의내용 그대로 따라 했는데 문제점을 못찾겠습니다 잘못된 부분이 있을까요?

답변 1

0

Hojun Lee님의 프로필 이미지
Hojun Lee
지식공유자

1) templates 폴더 안에 index.html 파일이 있는 것이 맞을까요?

static 폴더도 2개가 있으셔서 확인이 필요해보입니다. 

지금 설정하신 settings.py 상으로는 main 안에 있는 static이라는 폴더를  참고하고 있진 않고

그 밖에 static 폴더를 참고 하고 있어요.

그래서 2) main 폴더 밖에 static 폴더를 한 번 더 만들어보시겠어요?

그리고 3)템플릿 상속을 받지 않으시고 먼저 static file이 로드 가능한지 테스트 해보시겠어요? :)

3개가 모두 안되실 경우 글 한 번 더 부탁드립니다.

감사합니다.

Hojun Lee님의 프로필 이미지
Hojun Lee
지식공유자

http://프로젝트URL/static/jeju.jpg 로 접속했을 때 사진이 뜨는 지 확인해주세요.

Hojun Lee님의 프로필 이미지
Hojun Lee
지식공유자

settings.py의 DEBUG 변수 값이 True인지 확인해주세요.

audtls107님의 프로필 이미지
audtls107
질문자

DEBUG 값이 False였고 True로 바꾸니까 해결됐습니다 감사합니다!

그런데 DEBUG 는 에러페이지에서 상세설명 여부를 위한 기능 아닌가요!? 왜 이미지가 로드가 안됐었던 건지 궁금합니다

Hojun Lee님의 프로필 이미지
Hojun Lee
지식공유자

DEBUG = True는 말그대로 디버그를 위한 실행, 즉 개발용으로 실행하겠다는 뜻입니다.

디버그 메시지를 출력하는 것 외에도 개발하는데에 편리한 기능을 가지고 있습니다.

장고가 개발용으로 실행될 때는 자동으로 모든 앱들의 `static` 폴더 안의 내용을 참조합니다. 

하지만 DEBUG = False 일 때, 즉 배포용으로 실행했을 때에는 이 기능을 수행하지 않습니다.

자세한 사항은 django 공식 문서의 관련 글에서 확인하실 수 있습니다.

https://docs.djangoproject.com/en/3.2/howto/static-files/#managing-static-files-e-g-images-javascript-css

audtls107님의 프로필 이미지
audtls107
질문자

감사합니다!

audtls107님의 프로필 이미지
audtls107

작성한 질문수

질문하기