1

<img>Python Django から変数を渡し、タグ内で使用したいと考えています。どうすればいいですか?

これが私のコードです。

パイソン-

render(request, 'dashboard/dashboard.html', {"variable_int" : 12})

HTML

<img src="{% static "img/icons/vendor/yahoo_weather/{{variable_int}}.gif" %}" /></td>

私はそれを渡す必要があることを知っています{{}}が、画像が得られません。どうすればいいですか?

4

2 に答える 2

3

問題をまったく適切に説明していません。static問題はそれをテンプレートに渡すことではありません。これは明らかにすでに方法を知っている基本的な問題ですが、タグ内の文字列内でそれを使用する方法はまったく別の問題です。

答えは、簡単にはできないということです。しかし、なぜパス全体を通過しないのでしょうか? なぜ{"img_path": "img/icons/vendor/yahoo_weather/12.gif"}ですか?

于 2013-11-14T10:45:57.390 に答える
3

問題は、django が最初に URL を変換してから、コードに変数がないことです。

Djangoはこれを変更します:

{% static "img/icons/vendor/yahoo_weather/{{variable_int}}.gif" %} 

このため:

"/static/img/icons/vendor/yahoo_weather/%7B%7Bvariable_int%7D%7D.gif"

Django は最初に「関数」を呼び出して静的 URL を取得し、内部のすべてのコードを変更します。変数 {{ STATIC_URL }} を呼び出すことができます (settings.py で定義されている場合)。その変数は静的フォルダーのパスを取得し、その後変数の値を取得します。

これを試して:

<img src="{{ STATIC_URL}}img/icons/vendor/yahoo_weather/{{variable_int}}.gif" %}" /></td>

この場合、django は 1 つだけではなく、{{ STATIC_URL}} と {{variable_int}} の 2 つの変更を行う必要があります。

于 2013-11-14T10:53:48.060 に答える