【问题标题】:PYTHON Django tag with dynamic variable具有动态变量的 PYTHON Django 标记
【发布时间】:2017-05-29 15:58:05
【问题描述】:

我正在使用 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 的所有信息的字典。数据来自数据库。字典中有几年的数据,我想访问这些数据以对应选择表单的选择。

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

在 html 中,我有一个变量,其中包含所选年份的帖子,我想更改年份 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 %}

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

【问题讨论】:

    标签: python django variables tags nvd3.js


    【解决方案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 %}
    

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

    【讨论】:

    • 没问题。很高兴我能帮上忙。
    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2010-11-08
    • 2018-03-11
    • 2014-07-31
    • 2012-12-14
    • 2015-03-11
    相关资源
    最近更新 更多