js实现将数据下载到execl中,Django后端

参考链接:https://www.cnblogs.com/dengnan/p/3990211.html

参考链接:https://www.cnblogs.com/wangcuican/p/13162660.html

我事先将数据保存到了localStorage中,点击下载按钮,将数据传到后端,获取完整的数据,返回给前端,前端通过js实现下载到execl中

js实现将数据下载到execl中,Django后端_第1张图片

  • code.html
这里用的button按钮

    

注意: exportCsv 中 title中的元素与titleForKey中的元素数量对应

  • code.py
@login_required(login_url='searchhandle:login')
def download(request):
    if request.method == 'POST':
        data_dict = {}
        codes = request.POST.get('codes')
        codes = json.loads(codes)
        print('codes:', codes)
        print('type codes:', type(codes))

        if not codes:
            data_dict['msg'] = '请先生成注册码'
            data_dict['code'] = 101
            return JsonResponse(data_dict)
        res = [ ]
        code_objs = RegisterCode.objects.filter(regcode__in=codes).all()
        print(code_objs)
        for obj in code_objs:
            code_dict = {}
            code_dict['regcode'] = obj.regcode
            code_dict['validperiod'] = obj.validperiod
            code_dict['application'] = obj.application
            createdate = obj.createdate
            createdate = createdate.strftime('%Y-%m-%d')
            code_dict['createdate'] = createdate
            res.append(code_dict)
        data_dict['msg'] = 'OK'
        data_dict['code'] = 100
        data_dict['res'] = res
        return JsonResponse(data_dict)

注意: 后端返回给前端的 res 的数据格式是 [ {}, {}, {},... ], 并且 这个列表中字典里的数据是与 titileForKey 对应的

js实现将数据下载到execl中,Django后端_第2张图片

你可能感兴趣的:(前端)