2019-12-11平台设计的问题调试
2019-12-11 本文已影响0人
If_54ea
问题1 进入 show me results模块,设置时间筛选数据后,在进行“查看”、“下载”和“删除”操作时发生错误
①操作“查看”和“删除”时,跳出登录界面
分析代码发现,疑似if current_user.is_authenticated is True:
出现问题
②操作“下载”时,网页端返回500错误

分析发现,以下代码段发生问题(打印qh发现为空,后两条语句出错)
qh = aqi.find({'_id': kii}) # 挑选出需要下载的数据
print(qh) # 打印qh发现为空,后两条语句出错
print(qh[0])
ti = qh[0]['time']
解决:
对于问题①:在“2019.12.09平台设计的问题调试”问题1中,注释掉了相关语句,导致此段代码运行报错
因此需要重新解决该问题
核查发现,在导入数据库jiushia7和jiushia71时,"_id"的类型默认为string,需要修改为ObjectId

对于问题②:
在修正其他问题后,发生如下错误

是在
arr6 = time.strftime("%Y年%m月%d日%H时%M分%S秒", arr8)
中使用了中文字符导致的,日期格式修改为arr6 = time.strftime("%Y-%m-%d %H:%M:%S", arr8)
即可
问题2 进入manage my user information模块,查询无数据显示
分析发现,在以下代码段中
kk = userinfo.find()
tempuser = list(kk)
return layout('users.html', users=tempuser)
通过print()函数可以查看tempuser内部数据
疑似返回语句return layout('users.html', users=tempuser)
出错
解决:在导入userinfo文件时,"_id"的类型默认为string,需要修改为ObjectId
问题3 进入bcg模块,没有数据
分析发现,调用的数据库名与实际存储的数据名称不符
解决:
修改如下
kk = request.values.get('username') # 获取当前用户名
kk = kk+'1' # 根据实际存储命名规则修改调用的数据库名称
id = request.values.get('id')
kii = ObjectId(id)
aqi = base[kk]
n = aqi.find({'_id': kii})
问题4 进入bcg模块,没有“查看”选项,并且“下载”和“删除”选项出错
与问题1相同
解决办法同1
问题5 点击进入stress模块,跳出登录界面
解决:在导入userinfo文件时,"_id"的类型默认为string,需要修改为ObjectId