Django函数从模板调用?(应该很容易)
Django function call from the template? (should be easy)
我相信我在这里错过了一些基本的东西,但是我花了几个小时试图把我的头围绕在这个上面。我是Django的新手,所以请原谅我:
如何从模板调用方法?
具体来说,我想加载一个自动播放和元素的页面,然后让它加载/播放另一个不同的文件。(通过python脚本选择)
我需要将其定义为自定义标签吗?我在这里漏掉了什么概念?
谢谢大家!罗兰
是的,你不能在模板中调用函数(带参数)。这就是模板标签的作用。
你当然可以把模板引擎换成一个更宽松的,比如说,Jinja2。但我想对于你有限的任务来说,这个解决方案太复杂了。
如果你事先知道你的播放列表,你可以在你的视图中构造它,并把它传递给你的模板。
但是使用python来播放媒体并进行重定向可能不是一个好主意,如果可能的话,以一种合理的方式。
正如DTing在他的评论中提到的,这听起来像是Javascript/JQuery的典型用例。市面上有很多jquery插件。找到一个适合你的目标应该不会太难:以jPlayer为例。
如果你想亲自动手,可以看看这篇文章:用jQuery构建一个自定义HTML5音频播放器
我想你可能对Django中的模板是如何工作的有点困惑。模板负责在服务器上生成字符串。这个字符串充满了HTML标记。模板标签用于根据服务器数据呈现字符串的各个部分。
一旦这个字符串被构造,它将通过web服务器发送给客户端。请记住,这只是一个字符串。
从这里开始,任何需要执行的代码都必须在javascript中。你的例子是指等待一个文件完成在客户端上播放-因此客户端(javascript)负责等待该文件完成,并开始一个新的。如果不向服务器发出另一个HTTP请求,就不能从客户端调用python代码。模板标记不遍历HTTP到客户端。它们只是帮助服务器构造要发送的字符串的一种方式。相关文章:
- 如何使许多jQuery ajax调用看起来很漂亮
- JavaScript数组周围的引号(可能很容易修复)
- Ajax jQuery同时进行多个调用-等待应答的时间很长,无法取消
- 很容易清理锡农树桩
- 立即调用角控制器内部的函数,这是一个很好的实践
- 尝试将Javascript递归转换为PHP(很容易)
- “函数调用很昂贵”与“保持函数较小”
- javascript 冒泡排序问题(可能很容易)
- 如果背景为红色,则jQuery无法识别错误,看起来很容易但很固执
- 不透明度动画应该很容易?(javascript)
- 当使用apply()和call()方法很容易继承时,为什么人们在javascript中使用prototype ?
- 我想删除重复的对象使用javascript/jquery.这可能很容易吗?
- 我怎么能很容易地有一个javascript函数解析出特定的对象从json字符串
- 如何解析多维链接的国家/城市.Json到下拉列表很容易使用javascript或jquery
- 是否有可能很容易地添加一个jquery/javascript鼠标悬停延迟css只下拉菜单
- 在php中url参数名称是否区分大小写?如果不区分大小写,是否可以很容易地将它们规范化(并小写,等等)
- Jquery很容易不收费.js
- Javascript 3D库,可以很容易使用
- Django函数从模板调用?(应该很容易)
- 必须很容易- Div面板文本似乎重新调整中心时,点击以折叠面板