PYTHON 带有动态变量的 Django 标签

PYTHON Django tag with dynamic variable

我正在使用 django-nvd3 显示多条形图。我得到的数据几乎就像示例中的那样。 http://django-nvd3.readthedocs.io/en/latest/classes-doc/multi-bar-chart.html

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

我的数据是一本包含 nvd3 的所有信息的字典。数据来自数据库。该词典有几年的数据,我想访问与 select 形式的 selection 对应的数据。

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

在 html 中,我有一个 post 来自 selected 年份的变量,我想更改年份 nvd3 标签(此处为 2014)。

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

我尝试了几种方法,例如... {% with year as selected_year }}

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

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

但我无法弄清楚这一年是如何变化的。谢谢

我在看 source code。模板标签需要容器的名称。每次用户以页面重新加载的形式选择年份时,我都可以从您的代码中看到。

所以我要做的是在视图中用相应的容器名称填充变量 "selected_chart" 并将其传递到上下文中。

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

然后在模板中你应该有:

{% include_container selected_chart 400 600 %}

如果您需要在不重新加载页面的情况下更改图表,那么您需要采用不同的方法。如果是这种情况,请告诉我。