Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 在重组中重命名石斑鱼_Django_Templates - Fatal编程技术网

Django 在重组中重命名石斑鱼

Django 在重组中重命名石斑鱼,django,templates,Django,Templates,我已经读过了,但我还有一个问题:如何在模板中重命名country.gropper?我“分组”周日-周日。grouper,类似于1、2、3等。但我想在模板中更改它-周日、周一等。如何操作?A应该在这里帮助您。必须将其放入应用程序中名为templatetags的文件夹中的文件中,例如my_custom_filters.py: from django import template register = template.Library() def get_weekday(value): "

我已经读过了,但我还有一个问题:如何在模板中重命名country.gropper?我“分组”周日-周日。grouper,类似于1、2、3等。但我想在模板中更改它-周日、周一等。如何操作?

A应该在这里帮助您。必须将其放入应用程序中名为templatetags的文件夹中的文件中,例如
my_custom_filters.py

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>
{%load my\u custom\u filters%}
{%按工作日重新分组为工作日_列表%}
    {工作日中的天的%u列表%}
  • {{day.石斑鱼{get|u weekday}}
      {day.list%中项目的%s}
    • {{item.name}}:{{item.population}
    • {%endfor%}
  • {%endfor%}
如果您使用的是日期对象,则可以使用内置模板标记将日期转换为相应的工作日:

{% 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>
{%按工作日重新分组为工作日_列表%}
    {工作日中的天的%u列表%}
  • {day.石斑鱼|日期:“w”}
      {day.list%中项目的%s}
    • {{item.name}}:{{item.population}
    • {%endfor%}
  • {%endfor%}

这很奇怪-它不工作。我在day.grouper values=1、2、5上测试它。问题可能是date筛选器需要一个date对象作为输入,不能处理字符串。因此,您可以尝试使用datetime对象而不是表示日期的字符串创建列表。或者编写自己的自定义模板过滤器。将更新我的答案以包含它。在def get_weekday(值,arg)中-我删除“arg”并且它可以工作。谢谢