使用datachart返回一个额外的参数

时间:2014-01-14 08:51:01

标签: django django-templates nvd3.js

我正在尝试打印图表并将带有datachart的参数返回到模板。

Views.py:

def errors(request):
    totalErrors = total_errors()
    table = table_errors()
    return render_to_response('macaco_errores.djhtml', {'totalErrors': totalErrors, 'table': table})

没有'table'参数打印图表没有问题,但是当我加载“load_chart”时,我在模板中得到'False'。

编辑: 模板:

{% block head %}
    {% load nvd3_tags %}
    {% include_chart_jscss %}
    {% load_chart charttype totalesData totalesContainer extra %}   
{% endblock %}

{% block body %}
<div align="center">
    <h1>Errors</h1>
    {% include_container totalesContainer 600 1000 %}
</div>

<div align="center">
    <table border="1">
    <tr>
    <th>Log</th>
    <th>Type</th>
    </tr>
    {% for type,log,date in table.items %}
    <tr>
    <td>{{ type }}</td>
    <td>{{ log }}</td>
    </tr>
    {% endfor %}
    </table>
</div>
{% endblock %}

2 个答案:

答案 0 :(得分:0)

{% load_chart charttype totalesData totalesContainer extra %}

此标记在上下文中需要四个变量:charttypetotalesDatatotalesContainerextra

您的查看功能(仅提供totalErrorstable

似乎没有传递任何内容

因此,无法通过您发布的代码实现这一点。

请参阅django-nvd3文档中的此示例,了解您需要从视图功能提供的上下文数据类型:
http://django-nvd3.readthedocs.org/en/latest/introduction.html#example-how-to-create-a-piechart

另请参阅Django docs,了解如何将视图函数中的变量传递到模板中进行渲染。

例如,在您的视图中,您当前正在使用render_to_response helper,它将变量名称和值的字典传递给模板...这些是可用的变量在模板中。

答案 1 :(得分:-1)

解决方案是:

def counterroresmacaco(request):
    errores = errores_macaco()
    errores['tabla'] = tipoerror_ticker()
    return render_to_response('macaco_errores.djhtml', errores)

'errores'是一个字典,然后在模板中我使用for来迭代'tabla'。 传递两个参数的问题(正如我所做的那样)是django-nvd3无法识别示例中的参数。

{% load nvd3_tags %}
{% include_chart_jscss %}
{% load_chart charttype totalesData totalesContainer extra %}

{% include_container totalesContainer 600 1000 %}

<table border="1">
<tr>
<th>Tipo de log</th>
<th>Ticker</th>
</tr>
{% for reg in tabla %}
<tr>
<td>{{ reg.log }}</td>
<td>{{ reg.ticker }}</td>
</tr>
{% endfor %}
</table>