2017-05-29 47 views
-1

我正在用django-nvd3顯示多欄圖。我在例子中得到我的數據。 http://django-nvd3.readthedocs.io/en/latest/classes-doc/multi-bar-chart.html帶有動態變量的PYTHON Django標籤

view.py 
... 
return render_to_response('multibarchart.html', {'data': data, 'form': form}) 

我的數據是與所有的信息來源爲nvd3字典。數據來自數據庫。詞典有數年的數據,我想訪問cooresponding選擇表單的選擇。

data = {2014: { 
      'charttype': charttype, 
      'chartdata': chartdata}, 
     2015: { 
      'charttype': charttype, 
      'chartdata': chartdata} 
     } 
在HTML

我有從選定一年後的變量,我想(這裏2014)更改年nvd3標籤。

{% include_container data.dict.**2014**.chart... 400 600 %} 

我試了之類的東西... {%與一年selected_year}}

{% include_container data.dict.{{ selected_year }}.chart... 400 600 %} 

{% include_container data.dict.selected_year.chart... 400 600 %} 

但我無法弄清楚如何一年可以是動態的。謝謝

回答

1

我在看source code。模板標籤期待容器的名稱。從我的代碼中可以看到,每次用戶在頁面重新加載的表單中選擇一年。

所以我會做的是在視圖中填充一個變量「selected_chart」與相應的容器名稱並在上下文中傳遞它。

return render_to_response('multibarchart.html', {'data': data, 'form': form, 'selected_chart': CONTAINER_NAME}) 

然後在模板中,你應該有:

{% include_container selected_chart 400 600 %} 

如果需要更改圖表無需重新加載頁面,那麼你就需要不同的方法。讓我知道如果是這樣的話。

+0

謝謝。我試着讓你知道 – fabvys

+0

不錯。有用。謝謝 – fabvys

+1

沒問題。很高興我能幫上忙。 –