indexError at /xadmin/users/userprofile/1/update/
来源:5-2 xadmin的安装
Harrymissu
2018-01-25
您好 老师。 我的xadmin可以正常登陆,但在点击查看用户的时候就会报这个错误。
2回答
-
越过小山丘
2019-06-09
当我们点增加用户信息,会报错
可以看到报的是xadmin/widgets中第80行
def render(self, name, value, attrs=None):
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')))上面贴出来的最后一行代码就是widgets.py的第80行代码。
可以看出这句代码是希望用“\n”把input_html里的两个标签拆开,但两个标签之间没有换行,所以没能拆分,导致报错。
input_html[1]就是报错的代码,因为input_html里只有一个元素。
解决办法:
既然“\n”不能拆分标签,那么就换一种拆分方式,使用“/><”拆分。
原代码:
input_html = [ht for ht in super(AdminSplitDateTime, self).render(name, value, attrs).split('\n') if ht != '']
修改后代码:
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]
再运行就正常了
00 -
Harrymissu
提问者
2018-01-25
我是用
pip install git+git://github.com/sshwsfc/xadmin.git@django2
安装的xadmin 因为我的django是2.0.1 python是3.6.4
我这样安装以后 是不是就不用去github把那个xadmin源码下载下来了?
052018-01-31
相似问题