json檔案生成
小編最近因為課堂作業,要求寫一個基於阿里雲的儲存相關的專案,因為之前一直在學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資料段的內容