如何为动态生成的图像生成网址?

时间:2016-01-13 06:00:47

标签: django django-templates

昨天才开始搞乱Django,我现在已经坚持了5个多小时。我有一个页面,这是一个表格,计划是看起来像:

Name  -  Total Badges -  Badges
Bob   -             1 -  @(level 3)
Mike  -             3 -  @(level 5) | &(level 7)  | $(level 19)

实际上,可能会有数百个独特的图像代表几十个徽章" (实际上并没有使用徽章......只是项目的图像表示,其上覆盖了一个计数器)。在表格模板中,我尝试了50万种尝试生成链接到内部图像的URL的不同方法。我尝试过的一个例子应该说明我的意图:

...
<tr> Name </tr>
<tr> Total Badges </tr>
<tr> Badges </tr>

{% if profile %}
{% for name, badges in profile %}
  <tr>
    <td> {{ name }} </td>
    <td> {{ badges.count_all }} </td>
    {% for badge in badges %}
    {% static "MyApp/Images/{{badge}}.png" as image %}
    <img src="{{ image }}">
    {% endfor %}
    </tr>
{% endfor %}

这会发生什么,它会生成圆形和三角形错误图像。但如果我硬编码{%static&#34; MyApp / Images / AmpersandBadge100.png&#34; %} 有用。我认为不是替换{{badge}} var,而只是将其渲染为&#34; MyApp / Images / {{badge}}。png&#34;。

我甚至不知道谷歌的用途,而且4个小时的搜索文件让我相信静态文件是显示内部图像的唯一方法。但那可能并非如此。

1 个答案:

答案 0 :(得分:0)

我在发布后再搜索了一些内容,经过一些修补,最终找到了一个有效的解决方案。

{% for name, badges in profile %}

...

  <td>
  {% for badge in badges %}
     ## {{ badge }}s look like "MyApp/images/%s.png"%badge
    <img src="{% static "" %}{{ badge}}">

不确定它是如何工作的但确实如此。