【发布时间】:2013-05-08 09:54:01
【问题描述】:
我想知道是否可以将views.py中的render_to_response中的变量传递给script.js,
render_to_response('appname/basic.html',{'var':somevariable})
我基本上想在 HTML 页面之外访问变量 {{var}},因为我的 script.js 使用类似:
function WillHappen()
{
var n = noty({
text: 'You're {{var}}!',
type: 'warning',
dismissQueue: false,
layout: 'center',
theme: 'defaultTheme'
})
}
如果我将 Javascript 放入 HTML 页面,它会起作用,但我想将它们分开,因为我可能会在我的很多 HTML 页面中使用它。
【问题讨论】:
-
在这种情况下,你建议我怎么做?我只想在一个单独的 Javascript 文件中显示 {{var}} 包含的内容,该文件通常是某种整数。
-
在您的模板中:
<input id="myhiddenvar" type="hidden">{{ var }}</input>。然后在你的 javascriptvar text = document.getElementById("myhiddenvar"); -
看看HTML5 data tag,如果您不想最终得到很多 id 和类(mixin 样式挂钩和数据标识符),这很好
-
@Hedde 是的,很棒的提示! :) 我通常假设没有多少人使用 HTML5 的东西,并避免在答案中使用它。
-
您可以在模板中定义一个全局 js 变量并将其访问到您的脚本文件中。
<script> var myVar = '{{ var }}'; </script>和你的 script.jstext: "You're "+myVar+" !"
标签: javascript django django-views render-to-response