2012-10-17 27 views
0

所以我使用django-google-charts生成條形圖。這裏的圖表是在「out」div中繪製的。 但是我想要在一個頁面中生成不同的div,例如「out0」中的chart0,「out1」中的chart1,「out2」中的chart2中的多個圖表。Django將forloop.counter0放入自定義標記參數列表中可能嗎?

{% load googlecharts %} 
<div id="out"></div> 
{% googlecharts %} 
    {# some code here #} 
    {% graph "out" "out_data" "out_options" %} 
{% endgooglecharts %} 

所以,我試圖修改{% graph "out" "out_data" "out_options" %},我的意圖是 {% graph out|add:{{ forloop.counter0 }} "out_data" "out_options" %}使得圖形輸出源將由OUT0,OUT1,OUT2,等等

替換然而,使用的{{}}內{{%%}} 不允許。再加上圖形標籤將把第一個地方的任何東西作爲以逗號分隔的字符串參數。

是否有可能解決模板方面的問題?

謝謝。

回答

2
{% graph "out"|add:forloop.counter0 "out_data" "out_options" %} 

沒有括號{%},它應該工作

也:|添加符連接字符串,你是串聯變量(滿分,而不是「OUT」) 上面的代碼現在應該工作作爲你期望:)

+0

對不起,那是我的錯。我應該提出一個雙引號。我試過你的方法,但仍然失敗。呈現的html文件是'opt.container =「」out「| add:forloop.counter0」' – sfdye

+0

正如我所說的那樣,它只是將第一個參數當作無論它是什麼。順便說一句,爲什麼你沒有在'forloop.counter0'上放大括號? – sfdye

+0

你必須使用{%%}和{{}},以便django知道如何處理它們(否則你只會得到字符串)。 {{var}}從上下文中標識一個變量,{%if var%}標識一條if語句,「var」將從上下文中提取,請參閱https://docs.djangoproject.com/en/1.4/topics/templates/ –

0

最後,我只使用谷歌圖表工具Javasciprt API工作得很好。它允許在一個頁面上顯示多個圖表。類似問題here。最後的答案是解決方案。

相關問題