저는 장고를 처음 사용하기 때문에 결국 장고에서 정적 파일을 사용하는 방법을 배웠습니다. {% 정적 파일 이름에 파일 이름을 하드 코딩하는 동안 마침내 파일을로드 할 수있었습니다. jpg %}. 그러나 하드 코드 된 filename.jpg를 동적 파일 이름으로 대체하여 문자열을 만들려고했지만 출력이 나오지 않았습니다.연결된 정적 파일 소스를로드 할 수 없습니다
작동하지 않는 코드 :
<script>
\t image_name = "1.png" \t
\t static_start = "{% static '"
\t static_end = "' %}"
\t image_src = static_start.concat(image_name, static_end)
\t window.alert(image_src) \t
\t var para = document.createElement("img");
\t {% load static %}
\t para.setAttribute("src", image_src)
\t var element = document.getElementById("div_test");
\t element.appendChild(para);
</script>
작업 코드 스 니펫 :
<script>
\t var para = document.createElement("img");
\t {% load static %}
\t para.setAttribute("src", "{%static '1.png'%}")
\t var element = document.getElementById("div_test");
\t element.appendChild(para);
</script>
내가하려고하는 것은 API를 통해 어딘가에서 가져 오는 이미지 파일을 가지고 있으며 정적 폴더에 저장하는 것입니다. 그 이미지를 다운로드 한 후 다운로드 한 파일의 파일 이름을 알지 못해 정적 파일을 사용하고 동적으로 파일 이름을 얻으므로 내 웹 페이지에로드하려고합니다.
요점은 문자열 연결이 작동하지 않고 문자열을 직접 전달한다는 것입니다.
도움이 될만한 의견이 있습니다.
추신 : 위의 예제에서 분명히 나는 단순히 표시하고자하는 파일의 이름으로 대체 될 1.png을 사용하고 있습니다. get_static_prefix (I 실제로 원하는 방식)을 사용하여
작동 코드
<script>
image_name = "1.png" \t \t
var para = document.createElement("img");
{% load static %}
para.setAttribute("src", "{% get_static_prefix %}" + image_name)
var element = document.getElementById("div_test");
element.appendChild(para);
</script>
그 밖의 무엇 당신은 내가이 경우 어떻게해야 제안합니까? –