Django提供的admin模块特别好用,配合上simpleui这个插件后,页面会更具美观性和现代感。simpleUI基于Vue和Element-UI,是我目前尝试过的最好用的admin主题插件,目前在Github上用有超过2.1k的star。
但最新版本 2021.5.11有一个明显的bug,就是页面右侧的对象列表的分页器页码显示错误,比正常值多加了1。我追踪了一下源代码,看到最新版新注册的的一个tag代码如下
@register.simple_tag
def django_version_is_gte_32x():
arrays = django.get_version().split(".")
version = []
for s in arrays:
version.append(int(s))
return tuple(version) >= (3, 2, 0) # 这个左边是(3,2)时,返回False, 实际上应该返回True
这就引入了一个bug,如果用户的Django版本是3.2,django_version_is_gte_32x
中django.get_version()
是"3.2" , tuple(version)
是(3,2). 而(3,2) >= (3, 2, 0)
是False
,实际上应该返回True
. 我猜作者肯定任务django的版本肯定是3.2.0,而不是3.2,所以才留下这个BUG。
知道原因后,就可以很简单的修复。
有两个办法:一是升级Django到3.2.3;二是把最后一句为return tuple(version) >= (3, 2)
。
参考链接:https://www.jianshu.com/p/2c6d55dc7d75