2016-01-13 124 views
0

昨天才開始搞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「MyApp/Images/AmpersandBadge100.png」%}它的工作。我認爲,不是替換{{badge}} var,而是簡單地將其渲染爲「MyApp/Images/{{badge}}。png」。

我甚至不知道谷歌應該怎麼做,並且4個小時的文檔搜索導致我相信靜態文件是顯示內部圖像的唯一方法。但這可能不是事實。

+0

通常情況下,您可以使用'{{image.url}}',但您的models.py的外觀如何? – Hybrid

回答

0

我發佈了一些更多的帖子後,經過一些修補後終於找到了一個解決方案。

{% for name, badges in profile %} 

... 

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

不知道它是如何工作的,但它確實如此。