0

これを読みましたが、もう 1 つ質問があります。テンプレートで country.grouper の名前を変更するにはどうすればよいですか? 曜日を「グループ化」します-week_days.grouper、1、2、3などですが、テンプレートで変更したい-日曜日、月曜日など.どうすればいいですか?

4

1 に答える 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 に答える