Django使用Xadmin中,报错list index out of range

Django使用Xadmin中,报错list index out of range

原因:

在创建Model时,如果存在DatetimeField的字段,在xadmin后台管理页面中,对该model添加操作时,会报list index out of range的错误
即下图报错:
Django使用Xadmin中,报错list index out of range

解决办法:

找到报错最后一行
Django使用Xadmin中,报错list index out of range点击红色框中的代码,找到如下代码:

def render(self, name, value, attrs=None):
    if DJANGO_11:
        input_html = [ht for ht in super(AdminSplitDateTime, self).render(name, value, attrs).split('\n') if ht != '']
        # return input_html
        return mark_safe('<div class="datetime clearfix"><div class="input-group date bootstrap-datepicker"><span class="input-group-addon"><i class="fa fa-calendar"></i></span>%s'
                       '<span class="input-group-btn"><button class="btn btn-default" type="button">%s</button></span></div>'
                         '<div class="input-group time bootstrap-clockpicker"><span class="input-group-addon"><i class="fa fa-clock-o">'
                         '</i></span>%s<span class="input-group-btn"><button class="btn btn-default" type="button">%s</button></span></div></div>' % (input_html[0], _(u'Today'), input_html[1], _(u'Now')))
    else:
        return super(AdminSplitDateTime, self).render(name, value, attrs)

即:
Django使用Xadmin中,报错list index out of range然后修改为:

def render(self, name, value, attrs=None):
    if DJANGO_11:
        input_html = [ht for ht in super(AdminSplitDateTime, self).render(name, value, attrs).split('/><') if ht != '']
        input_html[0] = input_html[0] + "/>"
        input_html[1] = "<" + input_html[1]
        # return input_html
        return mark_safe('<div class="datetime clearfix"><div class="input-group date bootstrap-datepicker"><span class="input-group-addon"><i class="fa fa-calendar"></i></span>%s'
                         '<span class="input-group-btn"><button class="btn btn-default" type="button">%s</button></span></div>'
                         '<div class="input-group time bootstrap-clockpicker"><span class="input-group-addon"><i class="fa fa-clock-o">'
                         '</i></span>%s<span class="input-group-btn"><button class="btn btn-default" type="button">%s</button></span></div></div>' % (input_html[0], _(u'Today'), input_html[1], _(u'Now')))
    else:
        return super(AdminSplitDateTime, self).render(name, value, attrs)

参考:https://blog.****.net/yuhan963/article/details/79167743