【问题标题】:Display all dates of November in a template在模板中显示 11 月的所有日期
【发布时间】:2021-11-21 09:36:53
【问题描述】:

我正在尝试学习日期时间,目前正在尝试在 html 模板中显示 11 月的所有日期,在我拥有的视图中:

    year = today.year
    month= today.month
    num_days = calendar.monthrange(year, month)[1]
    days = [datetime.date(year, month, day) for day in range(1, num_days+1)]
    
    for days in days:
        days_str = days.strftime('%A, %B, %d, %Y')
        print(days_str)

context = {'': }

return render(request, 'template.html', context)

上面的输出是:

Monday, November, 01, 2021
Tuesday, November, 02, 2021
Wednesday, November, 03, 2021
Thursday, November, 04, 2021
Friday, November, 05, 2021
Saturday, November, 06, 2021
Sunday, November, 07, 2021
Monday, November, 08, 2021
Tuesday, November, 09, 2021
Wednesday, November, 10, 2021
Thursday, November, 11, 2021
Friday, November, 12, 2021
Saturday, November, 13, 2021
Sunday, November, 14, 2021
Monday, November, 15, 2021
Tuesday, November, 16, 2021
Wednesday, November, 17, 2021
Thursday, November, 18, 2021
Friday, November, 19, 2021
Saturday, November, 20, 2021
Sunday, November, 21, 2021
Monday, November, 22, 2021
Tuesday, November, 23, 2021
Wednesday, November, 24, 2021
Thursday, November, 25, 2021
Friday, November, 26, 2021
Saturday, November, 27, 2021
Sunday, November, 28, 2021
Monday, November, 29, 2021
Tuesday, November, 30, 2021

如何在模板中显示以上日期?

【问题讨论】:

    标签: django datetime templates view


    【解决方案1】:

    只需将所有日期放在一个列表中,然后将该列表传递给模板的上下文。

        year = today.year
        month= today.month
        num_days = calendar.monthrange(year, month)[1]
        days = [datetime.date(year, month, day) for day in range(1, num_days+1)]
        days_list = []
        for days in days:
            days_str = days.strftime('%A, %B, %d, %Y')
            days_list.append(days_str)
    
    context = {'days_list':days_list}
    
    return render(request, 'template.html', context)
    

    然后在你的模板中

    {% for day in days_list %}
    {{day}}
    {% endfor %}
    

    或者,您可以将日期作为 datetime 对象传递给模板,并使用 Django 内置的 date filter 对其进行格式化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      相关资源
      最近更新 更多