Python Django HTMLCalendar 如何将第一个工作日设置为星期日

问题描述 投票:0回答:1

如标题所示,目标是让日历中的几周以周日而不是周一为主导,如下所示。我知道

calendar.setfirstweekday(calendar.SUNDAY)
应该能够做到这一点。我只是不知道如何/在哪里将其添加到此代码中,或者是否需要不同的方法。不会浪费你的时间在我试图让周日在日历中领先一周的愚蠢事情上。

显示周一周开始的当前代码:

class Calendar(HTMLCalendar):
    def __init__(self, year=None, month=None, group=None):
        self.year = year
        self.month = month
        self.group = group
        super(Calendar, self).__init__()

    def formatday(self, day):
        d = ''
        if day != 0:
            return f"<td name='date-event-input' id={date(year=self.year, month=self.month, day=day)}><span " \
                   f"class='date'>{day}</span><ul>{d}</ul></td>"
        return '<td></td>'

    def formatweek(self, theweek):
        week = ''
        for d, weekday in theweek:
            week += self.formatday(d)

        return f'<tr> {week} </tr>'

    def formatmonth(self, withyear=True):
        cal = f'<table border="0" cellpadding="0" cellspacing="0" class="calendar" id="calendar-table-id">\n'
        cal += f'{self.formatmonthname(self.year, self.month, withyear=withyear)}\n'
        cal += f'{self.formatweekheader()}\n'
        for week in self.monthdays2calendar(self.year, self.month):
            cal += f'{self.formatweek(week)}\n'

        return cal

感谢任何帮助

python html django calendar
1个回答
0
投票

您可以在创建自定义日历类的实例之前设置它。它应该有效。 我的意思是;

# Set the first weekday to Sunday
calendar.setfirstweekday(calendar.SUNDAY)

# Create an instance of your custom calendar class
my_calendar = Calendar()
© www.soinside.com 2019 - 2024. All rights reserved.