请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

indexError at /xadmin/users/userprofile/1/update/

您好 老师。  我的xadmin可以正常登陆,但在点击查看用户的时候就会报这个错误。 

5a6969c300012e0b05000322.jpg

5a6969c3000164df05000225.jpg


正在回答 回答被采纳积分+3

插入代码

2回答

越过小山丘 2019-06-09 17:42:02

当我们点增加用户信息,会报错

可以看到报的是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]

再运行就正常了


0 回复 有任何疑惑可以回复我~
提问者 Harrymissu 2018-01-25 14:04:15

我是用 

pip install git+git://github.com/sshwsfc/xadmin.git@django2

安装的xadmin  因为我的django是2.0.1 python是3.6.4    

我这样安装以后 是不是就不用去github把那个xadmin源码下载下来了?


0 回复 有任何疑惑可以回复我~
  • 不是,我也碰见你这个错误了,然后看这个博客改好的,https://www.jianshu.com/p/16d4dd0093d7
    回复 有任何疑惑可以回复我~ 2018-01-26 17:03:19
  • 提问者 Harrymissu 回复 八角的微风 #2
    你好, 你是改了哪个就可以了呀? 我照着上面改了好久都没成功  而且我引入的xadmin源码包运行起来一堆错误。。。。
    回复 有任何疑惑可以回复我~ 2018-01-27 10:51:13
  • 八角的微风 回复 提问者 Harrymissu #3
    1.下载xadmin的django2.0源码包,像你用pip安装过源码包,只需要把xadmin卸载,然后用下载的xadmin源码包,
    2.修改下载源码包的代码,你看你发的那张图片,Exception Location中有出错的地址,其中还有行数line80,就在那块进行改动
    改动的方法在那篇博客上有~
    回复 有任何疑惑可以回复我~ 2018-01-29 14:21:15
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信