0

我调用了一个成功返回此格式字典的外部数据源。可以有任意数量的条目:

    {
'0090000': {'status': 'some status', 'modified_date': '2013-08-09T14:23:32Z', 'modified_by': 'John Doe', 'severity': '3 (Normal)', 'created_by': 'Dan Smith', 'summary': "some status", 'created_date': '2013-07-18T21:10:36Z'},
'0060000': {'status': 'some status', 'modified_date': '2013-06-24T03:19:01Z', 'modified_by': 'Jay Johnson', 'severity': '4 (Low)', 'created_by': 'Tony Thompson', 'summary': "some other status", 'created_date': '2012-05-03T17:45:19Z'}...
}

我正在使用表格中收集的一些信息来提取此数据。我已经阅读了大量关于如何迭代并在模板中呈现数据的文档和示例,但我无法让它发挥作用。

我的看法如下:

def agenda_detail(request, agenda_id):

    #get the meeting data
    a_data = get_object_or_404(meetingEvent, pk=agenda_id)

    #get the DEE data for the VAT fieldset
    account_id = a_data.account_number.pk

    #get the stored session user/pass
    username = request.session['username']
    password = request.session['password']

    dee_data = onsiteEngineer.objects.filter(account=account_id)

    #now we get the case data from the Portal API
    portal_raw = CustomerInformation()
    customer_data = portal_raw.getOpenCaseInfo(account_id,username,password)

    return render_to_response('agendas/detail.html',{'a_data':a_data, 'dee_data': dee_data, 'customer_data': customer_data.iteritems()}, context_instance=RequestContext(request))

我处理这个的模板代码是(我现在不关心 html 格式,我只想在屏幕上看到数据:

{% for key, value in customer_data.items %}
<p>{{ key }}</p>
{% for info in value %}
    {{ value }}
{% endfor %}
{% endfor %}

它没有显示任何数据。我尝试了多种组合(使用 .items、使用 iteritems 等),但我无法让它发挥作用。

所有建议表示赞赏。

4

1 回答 1

1

由于customer_data是字典,因此您可以只发送'customer_data': customer_data而不是'customer_data': customer_data.iteritems()在上下文中发送。

现在在模板中,试试这个:

{% for key, value in customer_data.items %}
    <p>{{ key }}</p>
    {% for k, v in value.items %}
        {{ k }}: {{ v }} <br/>
    {% endfor %}
{% endfor %}
于 2013-09-15T02:03:02.577 回答