我已阅读此内容,但我还有一个问题:如何在模板中重命名 country.grouper?我“分组”工作日 - week_days.grouper,它就像 1、2、3 等。但我想在模板中更改它 - 星期日、星期一等。怎么做?
问问题
476 次
1 回答
1
自定义模板标签应该可以帮助您。它必须放入一个文件中,例如my_custom_filters.py
在您的应用程序中名为 templatetags 的文件夹中:
from django import template
register = template.Library()
def get_weekday(value):
"""returns the weekday for the given number - 0 indexed"""
wd_list = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
return wd_list[int(value)]
这个自定义过滤器将像这样使用:
{% load my_custom_filters %}
{% regroup day by weekdays as weekday_list %}
<ul>
{% for day in weekday_list %}
<li>{{ day.grouper|get_weekday }}
<ul>
{% for item in day.list %}
<li>{{ item.name }}: {{ item.population }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
如果您使用的是日期对象,则可以使用内置日期模板标签将日期转换为相应的工作日:
{% regroup day by weekdays as weekday_list %}
<ul>
{% for day in weekday_list %}
<li>{{ day.grouper|date:"w" }}
<ul>
{% for item in day.list %}
<li>{{ item.name }}: {{ item.population }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
于 2012-10-20T20:13:36.787 回答