麻烦迭代django模板中的字典键和值

时间:2017-11-16 22:54:35

标签: python django

我正在尝试遍历django中模板中的上下文字典。到目前为止我还没有成功,我也不明白这是错误的。

这是我的观点:

def main_view(request):
    cat_dict = {'Other': 0,
                  'Meeting': 0,
                  'Project 1': 0,
                  'Project 2': 0,
                  'Project 3': 0,
                  'Project 4': 0,
                  'Collaboration 1': 0,
                  'Collaboration 2': 0,
                  'Collaboration 3': 0,
                  'Process 1': 0
                  }
    my_dict = gCalScriptMain.gCalScript(cat_dict)
    return render(request, 'gCalData/gCalData_main.html', context=my_dict)

相反,这是我的模板:

{% extends "base.html" %}
{% block content %}

<div class="jumbotron index-jumbotron">
    <h1 id="main-title">gCalData</h1>
    <ul style="color:white">

      {% for k,v in my_dict.items %}
          <li>{{ k }}: {{ v }}</li>

      {% endfor %}

    </ul>

</div>

{% endblock %}

但我什么都没得到(甚至没有错误)。 如果我把它放在模板中,我唯一能做的就是检索一个值:

{% extends "base.html" %}
{% block content %}

<div class="jumbotron index-jumbotron">
    <h1 id="main-title">gCalData</h1>
    <p style="color:white">{{ Other }}</p>

</div>

{% endblock %}

1 个答案:

答案 0 :(得分:1)

您向context函数提供的

render是您可以在模板中使用的变量字典。这意味着您可以使用OtherMeeting

如果您想使用字典,则需要

...
return render(request, 'gCalData/gCalData_main.html', context={"my_dict": my_dict})

然后您可以在模板中迭代my_dict