私はdjangoに新しく、最終的にはDjangoで静的ファイルを使用することを学びましたが、{%静的ファイル名でファイル名をハードコーディングしていました。 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から取得している静的フォルダにイメージファイルをたくさん格納しています。これらのイメージをダウンロードした後、私は自分のWebページにロードしようとしています。なぜなら、静的ファイルを使用していて、ダウンロードしたファイルのファイル名を知りません。
文字列を直接渡している間は、文字列の連結が機能していないということです。
本当にありがとうございます。
P.S:上記の共有の例では、私は単純に1.pngを使用していますが、これは最終的に表示したいファイルの名前に置き換えられます。 get_static_prefix(私は実際に望んでいた方法)を使用して
の作業コード
<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>
あなたは、私はこのケースで行う必要があります他に何を示唆していますか? –