【发布时间】:2018-12-03 20:07:07
【问题描述】:
我确实创建了一个名为 generate_random_number 的 python 函数,它生成一个介于 1 和 9 之间的随机数,并将其与数据库中每个视频的 id 进行比较,并返回对应于视频的 url id 匹配随机数。这是函数:
from random import randint
from dash_interface.models import Video
from django import template
register = template.Library()
@register.simple_tag
def random_video():
random_number = randint(1, 9)
all_videos = Video.objects.all()
for video in all_videos:
if video.id == random_number:
random_url = video.video_url
return random_url
我想将random_url 传递给django 模板中的javascript 变量。
我的模板如下所示:
<video id="videoplayer" controls></video>
<script>
{% load generate_random_number %}
// setup the video element and attach it to the Dash player
function setupVideo() {
var url = " ";
var context = new Dash.di.DashContext();
var player = new MediaPlayer(context);
player.startup();
player.attachView(document.querySelector("#videoplayer"));
player.attachSource(url);
}
</script>
<style>
video {
width: 60%;
height: 40%;
}
</style>
相关变量为url。
我做了一个{% load generate_random_number %},但我不知道我是否可以将url中的引号替换为{{ random_url }}。
【问题讨论】:
-
是的,你可以做到。
"{{ random_url }}"将为返回的 url 创建一个字符串表示法,该字符串可以存储在任何 JS 变量中。 -
我做到了,但我没有播放任何视频
-
尝试检查您的 HTML 并调试您的 JS 并确保
"{{ random_url }}"是否返回了某些内容。 -
你在哪里调用
generate_random_number标签?为什么你认为你的模板中有一个叫做random_url的东西? -
在模板中必须指定
var url = "{{ random_video }}",可以在定义url后使用console.log(url);或alert(url)查看。
标签: javascript python django python-2.7 django-templates