Moto_FadedAway 2023-04-20 19:23 采纳率: 66.7%
浏览 5
已结题

Django开发时视图模型调用其他函数无法得到正确的返回值。一直显示None

我利用Django开发,从前端传入两组数到decode_key视图模型中,在这个视图模型中调用算法函数
attack_drawing(data_file_path,trace_number)。但是得到的返回值一直是None。
这是我decode_key视图调用的代码:

def decode_key(request):
    if request.method == "POST":
        start_seq = int(request.POST.get("startSeq"))
        end_seq = int(request.POST.get("endSeq"))
        col_diff = end_seq - start_seq + 1
        print("执行1")
        #print(attack_drawing('ASCAD.h5', col_diff))
        print(attack_drawing('ASCAD.h5', 1000))
        print("执行2")
        #rank_txt_name, rank_pic_name = attack_drawing(file_name, col_diff)
        #return JsonResponse({"rank_txt_name": rank_txt_name, "rank_pic_name": rank_pic_name})
    return render(request,"decode_key.html")

报错信息如下:

img

在attack_drawing函数里我有设置返回值return rank_list。

def attack_drawing(data_file_path,trace_number):
    # 需要测试的模型路径
    model_file_path = "NO.1_-174.pth"

    if __name__ == "__main__":

  
        for i in range(256):
            key_score[i] = 0.0  
        test_data_loader, plain_texts = load_ascad(data_file_path, 1, False, 1, wave_flag=True, get_level=0)
        # 存储rank的list #
        rank_list = []

        with torch.no_grad():
            for i, data in enumerate(tqdm.tqdm(test_data_loader)):  # data是一个元组,包含 att_trace, att_label

                if (data_count == trace_number):
                    break

#省略了中间代码
                
                if (rank == 0 and rank_zero_count == 0):
                    rank_zero_count = i

                rank_list.append(rank)

        return rank_list

我新建py文件进行测试,用下列代码

def test():
    print(attack_drawing('ASCAD.h5', 1000))

test()

可以得到正确的返回值。

img

有没有人知道这个问题怎么解决。我这个算法执行时间差不多得7s左右,不知道是不是和js的等待返回操作有关系呢。
万分感谢

  • 写回答

1条回答 默认 最新

  • Moto_FadedAway 2023-04-20 19:54
    关注

    问题解决了,家人们。忘了删除if name == "main":这句话了

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月20日
  • 创建了问题 4月20日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏