Python Django HTMLCalendar Как установить первый день недели на воскресенье
Как указано в заголовке, цель состоит в том, чтобы заставить недели в календаре начинаться с воскресенья, а не с понедельника, как показано ниже. Я знаю, что 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
Благодарю за любую помощь
Вы можете установить его сразу после создания экземпляра вашего пользовательского класса календаря. Это должно сработать. Я имею в виду;
# Create an instance of your custom calendar class
my_calendar = Calendar()
# Set the first weekday to Sunday
calendar.setfirstweekday(6)