![](/img/trans.png)
[英]Django forms template dropdown with unique identifier for each iteration of a forloop
[英]Django, template attribute unique
我正在嘗試實現js日歷的事件列表。 因此,日歷的數據如下所示:
var studyEvents = {
'04-03-2014' : '<span class="event">Event 1</span>',
'05-08-2014' : '<span class="event">Event 2</span>',
'12-09-2014' : '<span class="event">Event 3</span>'
};
如果同一天有多個事件,則數據如下:
var studyEvents = {
'04-03-2014' : '<span class="event">Event 1</span>',
'05-08-2014' : '<span class="event">Event 2-1</span><span class="event">Event 2-2</span>',
'12-09-2014' : '<span class="event">Event 3</span>'
};
所以我正在做的是獲取按日期排序的所有事件的列表。 我想檢查同一天是否有多個事件。 我想我可以檢查(因為列表按日期排序)如果event.date
不是唯一的,那么可以有一種方法將其放在同一行上。
var studyEvents = {
{% for event in events %}
'{{ event.date|date:"m-d-Y" }}' : '<span class="event">{{ event.title }}</span>'{% if not forloop.last %},{% endif %}
{% endfor %}
};
我對這個感到有些迷惑,因此不勝感激!
您可以按日期使用內置的templatetag regroup
。 https://docs.djangoproject.com/en/dev/ref/templates/builtins/#regroup
用法示例:
cities = [
{'name': 'Mumbai', 'population': '19,000,000', 'country': 'India'},
{'name': 'Calcutta', 'population': '15,000,000', 'country': 'India'},
{'name': 'New York', 'population': '20,000,000', 'country': 'USA'},
{'name': 'Chicago', 'population': '7,000,000', 'country': 'USA'},
{'name': 'Tokyo', 'population': '33,000,000', 'country': 'Japan'},
]
模板:
{% regroup cities by country as country_list %}
<ul>
{% for country in country_list %}
<li>{{ country.grouper }}
<ul>
{% for item in country.list %}
<li>{{ item.name }}: {{ item.population }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.