웹 개발/백엔드

[Django] Static 태그 내에서 변수를 사용하는 방법

초보군붕이 2021. 3. 21. 13:10
반응형

● 증상

<div>
	<img src="{% static 'summoner/image/perk/{{match.mastery.perk_2}}.png' %}" alt="">
</div>

위 코드처럼 DTL 태그를 사용하여 이미지를 불러오는 코드를 작성했다.

 

하지만 화면에서 사진이 깨지는것으로 보여 개발자도구를 확인하니 아래처럼 출력되었다.

 

 

{{ }} 내부가 encode 되어버린 모습

 

● 해결방법

위 처럼 {{ match.master.perk_2 }} 가 encode 되버리는 것은 static 태그 내에는 변수가 존재할 수 없기 때문이다.

 

그래서 static 태그 내에서 변수를 활용할려면 아래 예제처럼 {% get_static_prefix %}/경로/파일명.확장자 를 입력해줘야 한다.

<div>
	<img src="{% get_static_prefix %}summoner/image/perk/{{match.mastery.perk_2}}.png" alt="">
</div>

 

정상적으로 이미지가 로딩되는 모습

반응형