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

빅재미코딩님의 프로필 이미지

작성한 질문수

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

장고가 static 파일을 다루는 방법

템플릿태그 load static 의미/동작방식

작성

·

548

0

위 코드에서 {% ~ %} 템플릿태그로

load static 이라는게

단순히 문자그대로 static을 로드 한다 (임포트구문 처럼)

라고는 알겠는데

static이라는게 어떤 걸(경로?) 뜻하는지 궁금합니다.

settings.py 의 STATIC_URL, STATICFILES_DIRS, STATIC_ROOT 전부를 뜻하는건지? 아니면 STATICFILES_DIRS만 뜻하는건지? 궁금합니다.

그럼 각 장고앱 하위 static 경로들은 load를 안해줘도 되는건지 궁금하네요..

답변 2

0

아 그렇군요. 전혀 다르걸로 생각했었네요. 감사합니다.

우선 다른것들은 이해가 가는데 답변주신내용 중 제가 이해를 못하는 부분 때문에 추가질문 2개가 있습니다.


추가질문1

장고 static loader 라는 용어/개념이

앞서 배운 파인더를 말씀하신건가요?

 

추가질문2

"

...템플릿 태그 static은 템플릿 내에서

<img src="{% static 'hello.jpg' %}" /> 와 같은 코드로


상대경로인 경로를 URL 절대경로로 변환하여 사용하실 수 있습니다....

"

강조한 부분들이 전혀 이해가 가질 않습니다..ㅠㅠ

 

 

이진석님의 프로필 이미지
이진석
지식공유자

제가 용어를 헷갈렸네요. 말씀하신 대로 템플릿에서는 loader가 있고, static에서는 finder 입니다.


static 템플릿을 다양한 인자로 수행해보시고 그 결과값도 예상해보시고 비교해보세요. 그리고 공식문서 글도 찾아서 읽어보시구요.

잘 이해가 안 되시는 부분은 일단 keep해두시고, 이후 반복 학습에서 다시 체크해보시는 것도 한 방법입니다.

static 동작에 대해서는 아래 글과 영상에서도 제가 드릴 수 있는 최대한의 설명을 드리고 있습니다.

구체적인 질문으로 주시면, 저도 그에 맞춰 답변을 드리겠습니다.

화이팅입니다. :-)

네 감사합니다. 답변이 너무 두서가 없었네요 설명 주신 링크 보고 좀 더 이해하고 질문 드리겠습니다!

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

장고 템플릿 파일에서 {% load 확장자제외한_파일명 %} 패턴을 통해, 특정 파일의 템플릿 태그와 필터들을 load하여 해당 템플릿 파일에서 사용할 수 있게 됩니다. static 의 경우, django/templatetags/static.py 파일입니다.

관련 공식문서 : https://docs.djangoproject.com/en/4.2/ref/templates/builtins/#load

템플릿 태그 static 를 사용하기 위해, {% load static %} 을 수행한 것이구요.
템플릿 태그 static은 템플릿 내에서 <img src="{% static 'hello.jpg' %}" /> 와 같은 코드로
상대경로인 경로를 URL 절대경로로 변환하여 사용하실 수 있습니다.

settings 내의 설정과 템플릿태그 static는 서로 별개입니다.

{% load 대상은 templatetags/ 내의 파일들이며,

장고 static loader가 로딩하는 대상들을 템플릿 내에서 지정해주는 것은 아닙니다. settings 내에 필요한 설정들을 해주면, static loader가 동작할 때 settings 설정들을 읽어들여 동작하는 것일 뿐입니다.

화이팅입니다. :-)

이진석 드림