我正在尝试从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),但它没有用。如果有人能指出我在这里做错了什么,我真的很感激
答案 0 :(得分:1)
{% for key, value in item_list %}
迭代字典会产生密钥。
{% for key, value in item_list.iteritems %}