我想从python Django传递变量并在<img>
标记内使用它。我该怎么做?
这是我的代码。
的Python -
render(request, 'dashboard/dashboard.html', {"variable_int" : 12})
HTML
<img src="{% static "img/icons/vendor/yahoo_weather/{{variable_int}}.gif" %}" /></td>
我知道我需要在{{}}
之间传递它,但我没有得到图像。我该怎么办?
答案 0 :(得分:3)
您根本没有正确描述问题。问题不是将它传递给模板,这是一个绝对基本的问题,你显然已经知道该怎么做,但是如何在static
标签内的字符串中使用它,这是一个完全不同的问题。
答案是,你不能轻易。但是你为什么不通过整条道路呢?为什么不{"img_path": "img/icons/vendor/yahoo_weather/12.gif"}
?
答案 1 :(得分: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应该进行2次更改,{{STATIC_URL}}和{{variable_int}},而不只是一次。