在django模板中访问字典值

时间:2014-10-04 16:03:10

标签: python django dictionary django-templates

我正在尝试从Django模板中的字典访问键值对,但我遇到了一些问题。

字典看起来像这样:

{datetime.datetime(2014, 10, 31, 0, 0, tzinfo=<UTC>): [<Item: do something1>],
datetime.datetime(2014, 10, 24, 0, 0, tzinfo=<UTC>): [<Item: dosomething2>,<Item: dosomething3>]}

Django模板:

{% if item_list %}
    <ul>
        {{item_list}}
        {% for key, value in item_list %}
            <h3>{{key}}</h3>
            {% for item in value %}
                <input type="checkbox" value="{{item.title}}">{{item.title}}<br>
            {% endfor %}
        {% endfor %}
    </ul>
{% else %}
    <p>No items are available.</p>
{% endif %}

Views.py

def index(request):
    try:
        item_list = sort_items_by_date()
    except Item.DoesNotExist:
        raise Http404
    return render(request, 'index.html', {'item_list':item_list, 'new_item_form':ItemForm()})

渲染模板时,字典中的所有项都不会显示。我在这里查找了其他类似的问题并尝试了他们的解决方案(例如使用item_list.date),但它没有用。如果有人能指出我在这里做错了什么,我真的很感激

1 个答案:

答案 0 :(得分:1)

{% for key, value in item_list %}

迭代字典会产生密钥。

 {% for key, value in item_list.iteritems %}