javascript - 如何在 Javascript 中循环 Django 查询集
问题描述
如何在 javascript 中循环 Django 模型查询集。我有一个使用 javascript 的音乐播放器,并且 javascript 中的 'trackUrl' 变量列出了曲目路径,我需要能够遍历每个用户上传的曲目并将它们加载到每个用户的播放器中。我基本上需要从音乐模型中为每个用户获取曲目。
希望这是有道理的,这是我现在拥有的一些代码。
模型.py
class Music(models.Model):
track = models.FileField(upload_to='path/to/audio')
title = models.TextField(max_length=50)
artwork = models.ImageField(upload_to='path/to/img', blank=True)
artist = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
音乐.js
<script>
$(function()
{
var playerTrack = $("#player-track"), bgArtwork = $('#bg-artwork'), bgArtworkUrl,
albumName = $('#album-name'), trackName = $('#track-name'), albumArt = $('#album-art'),
sArea = $('#s-area'), seekBar = $('#seek-bar'), trackTime = $('#track-time'), insTime = $('#ins-time'),
sHover = $('#s-hover'), playPauseButton = $("#play-pause-button"), i = playPauseButton.find('i'),
tProgress = $('#current-time'), tTime = $('#track-length'), seekT, seekLoc, seekBarPos, cM, ctMinutes,
ctSeconds, curMinutes, curSeconds, durMinutes, durSeconds, playProgress, bTime, nTime = 0, buffInterval = null,
tFlag = false, albums = ['Dawn','Me & You','Electro Boy','Home','Proxy (Original Mix)'],
trackNames = ['Skylike - Dawn','Alex Skrindo - Me & You','Kaaze - Electro Boy','Jordan Schor - Home','Martin Garrix - Proxy'],
albumArtworks = ['_1','_2','_3','_4','_5'], trackUrl =
['https://raw.githubusercontent.com/music-player-1/master/music/2.mp3',
'https://raw.githubusercontent.com/music-player-1/master/music/1.mp3',
'https://raw.githubusercontent.com/music-player-1/master/music/3.mp3',
'https://raw.githubusercontent.com/music-player-1/master/music/4.mp3',
'https://raw.githubusercontent.com/music-player-1/master/music/5.mp3'],
playPreviousTrackButton = $('#play-previous'), playNextTrackButton = $('#play-next'), currIndex = -1;
function playPause()
{
解决方案
Django REST 框架创建了一个 API,允许前端与您的模型进行交互。因此,在设置 django rest 框架之后,您可以使用 axios 之类的东西向 api 发出请求并获取您的模型数据。
或者,您可以在您的 views.py 中创建一个自定义视图函数,该函数获取您需要的模型数据,然后将其自定义为 JavaScript 的可用格式(例如 json 格式),然后返回该数据。然后在客户端,您只需使用 axios 向您刚刚创建的视图函数发出请求,它就会向您发送该 json 数据。
推荐阅读
- mysql - 一天开始时的初始数据库连接错误
- gitlab - GitLab - CI/CD:外部公共资源问题
- azure-functions - 超出 Azure 主机阈值:[Connections] 即使没有功能逻辑
- symfony-3.4 - 调用 Symfony3.4 控制器但重定向后没有任何反应
- python - 在python pandas中按日期加入数据框
- actions-on-google - 在 Google Assistant 中播放 Youtube 视频的代码
- mongodb - 如何在 mongo db 配置文件 (mongod.conf) 中使用环境变量作为 Bind-Ip
- excel - 用于从 .xlsx 文件中读取第 2 列数据的 Powershell 脚本
- scala - ZKStringSerializer 的 Scala 包问题
- recurly - 我们可以从 Recurly API 获得 JSON 响应而不是 XML 吗?