? ?小编最近由于课堂作业,要求写一个基于阿里云的存储相关的项目,由于之前一直在学python的web框架django,于是乎就想到了用django写这么一个音乐网站,实时上传以及下载云端音乐。但是这个时候就遇到了一个困扰了我很久的问题,音乐播放器是用js写的,音乐列表需要js从里面定义的一个json文件获取,但是这个时候由于大量云端数据自然不可能一个一个去编写数据了,动态生成数据的前提就是数据源,在后端获取到了两个数据列表,歌曲名和歌曲url,这个时候需要构造新的一个字典类型的数据段,相似:
data = [ { song: XXX src: XXX }, { song: XXX src: XXX }, ...]? ?一开始就想到的是传列表,但是django后端不支持列表数据传递,后来尝试生成字典数据,直接动态增加,但是后来发现每次打印字典里面都只有一条数据,完全忽略了字典不支持一键多值,困扰了很久,也尝试过字典、列表、json格式转换,最后还是在群里某大佬的帮助下处理,上代码:
- list2和list3是获取到歌名和歌曲url的两个列表
for song, src in zip(list2,list3): data.append({'song': song, 'src': src})? ?最后在后端将数据json化直接传递到前台,js里面直接调用就完成啦,后面持续跟新django里面关于js文件获取django数据段的内容