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 %}
如果您需要在不重新加载页面的情况下更改图表,那么您需要采用不同的方法。如果是这种情况,请告诉我。
我正在使用 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 %}
如果您需要在不重新加载页面的情况下更改图表,那么您需要采用不同的方法。如果是这种情况,请告诉我。