我正在嘗試根據一個月的周數創建一些串列,例如,我們有幾個月正好有四個星期,因為我們有幾個月可能會超過這個時間,所以我的要求是動態創建串列取決于用戶選擇的月份,因此串列數等于所選月份中的周數。
任何指標都會有幫助,謝謝
def _get_columns_name(self, options):
# the data type = list
header1 = [
{'name': '', 'style': 'width:90%'},
{'name': _('Week 1'), 'class': 'number', 'colspan': 2},
{'name': options['date']['string'], 'class': 'number', 'colspan': 1},
] [
{'name': '', 'style': 'width:90%'},
{'name': _('Week 2'), 'class': 'number', 'colspan': 2},
{'name': options['date']['string'], 'class': 'number', 'colspan': 1},
] [
{'name': '', 'style': 'width:90%'},
{'name': _('Week 3'), 'class': 'number', 'colspan': 2},
{'name': options['date']['string'], 'class': 'number', 'colspan': 1},
] [
{'name': '', 'style': 'width:90%'},
{'name': _('Week 4'), 'class': 'number', 'colspan': 2},
{'name': options['date']['string'], 'class': 'number', 'colspan': 1},
]
return [header1]
目前我正在這樣做,但它沒有正確滿足要求。
uj5u.com熱心網友回復:
也許內置的 Calendar 庫對您有用:例如,要獲取某個月的周數,您可以使用calendar.monthcalendar
import calendar
month_matrix = calendar.monthcalendar(year=2021, month=12)
num_weeks = len(month_matrix)
然后回圈很簡單:
header1 = []
for i in range(num_weeks):
header1.extend([
{'name': '', 'style': 'width:90%'},
{'name': _(f'Week {i 1}'), 'class': 'number', 'colspan': 2},
{'name': options['date']['string'], 'class': 'number', 'colspan': 1},
])
uj5u.com熱心網友回復:
使用回圈執行此操作的簡單方法
def _get_columns_name(options, weeks):
# the data type = list
header1 = [[
{'name': '', 'style': 'width:90%'},
{'name': _('Week {}'.format(i)), 'class': 'number', 'colspan': 2},
{'name': options['date']['string'], 'class': 'number', 'colspan': 1}] for i in range(1, week 1)]
return [header1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/399279.html
