0

我正在制作一个 django webapp。在主页上,有一些 div,我想在其中显示数据库中定期更改的随机图像(即每个 div 每隔几秒钟从数据库中获取一个随机图像)。用于此的 jquery 使用一些 for 循环来实现此目的。我已经在我的 views.py 文件中传递了文件列表,并且我能够在我的模板中检索图像列表。但是当我把 {{ filelist | random }} 在我的 jquery 中,每次循环都采用相同的文件名。我该如何解决这种情况?

让我知道我应该提供哪些额外信息。

4

1 回答 1

2

首先,“随机”django 过滤器将从列表中返回一个对象,这就是为什么只有一个对象可用。其次,jquery 不能直接与 django 模板引擎一起使用,它可以与模板引擎产生的内容一起使用。您必须记住,django 模板标签和过滤器是在服务器端呈现的,一旦呈现,它就完成了,发送到客户端......并且在您发出另一个请求之前不会改变。

如果“filelist”是您的上下文值,那么您可以拥有作用于 javascript 数组的 jquery 代码。你可以这样做:(假设文件列表中的所有值都是字符串)

var js_array = [{% for f in filelist %}"{{ f }}",{% endfor %}];
于 2013-10-14T23:57:16.617 回答