django 将日期时间传递给 TempusDominus

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

当我编辑实体时,我想将日期时间传递给表单,但格式不受尊重。在我看来我有:

    def get_initial(self):
        initial = {
            'season': Season.objects.get(pk=self.request.session['selected_season_id']),
            'start': self.object.start.strftime('%Y-%m-%d') if self.object.allday else self.object.start.strftime('%Y-%m-%d %H:%M')
    }
        if self.object.end is not None:
            initial = {
                'end': self.object.end.strftime('%Y-%m-%d') if self.object.allday else self.object.end.strftime('%Y-%m-%d %H:%M')
            }
        return initial

该表格有以下选项:

var picker = new tempusDominus.TempusDominus(document.getElementById(date_element_id), {
                //put your config here
                
                localization: {
                    startOfTheWeek: 1,
                    format: 'yyyy-MM-dd HH:mm',
                    hourCycle: 'h24'
                },
                restrictions: {
                    minDate: new Date(),
                    maxDate: undefined,
                    disabledDates: [],
                    enabledDates: [],
                    daysOfWeekDisabled: [],
                    disabledTimeIntervals: [],
                    disabledHours: [],
                    enabledHours: [],

                }
            });

            picker.dates.formatInput = date => moment(date).format('yyyy-MM-DD HH:mm');

在空输入字段上,日期时间显示正确。在现有字段上,进行编辑时,格式为“12/31/2024, 16:00”

但是日期时间字符串已正确传递到表单,并且在源代码中我还看到了正确的格式,例如 '2024-12-31 16:00' 。为什么格式改变了?

django tempus-dominus-datetimepicker
1个回答
0
投票

我找到了解决方案在这里

if(date_element_value !== '') {
    picker.dates.formatInput = function (date) {
                    return moment(date).format('yyyy-MM-DD HH:mm');
                }
    picker.dates.setFromInput(date_element_value);
}
© www.soinside.com 2019 - 2024. All rights reserved.