我正在编写一个Google应用引擎应用,显然默认的Web应用框架是Django的一个子集。因此,我正在使用它的模板引擎。
我的问题是我是否说过以下代码:
template_values = {
'first':first,
'second':second,
}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))
我想在index.html的外部javascript文件中引用模板值first
,我是否继续使用我在index.html本身使用的{{ first }}
用法或我是否需要以某种方式告诉框架关于example.js以便它知道替换那里的引用?
答案 0 :(得分:3)
将值插入javascript可能是一个坏主意;如果脚本是静态的并且让它从DOM中获取数据(假设它是您正在呈现的HTML页面的一部分)或者使用AJAX调用从服务器获取必要的数据,那么它是否更有意义? ?
答案 1 :(得分:1)
免责声明:我对应用引擎的了解有限,因此这个答案可能无法满足您的目的。
在Django中,如果您需要能够将变量从视图传递到JS文件,则必须确保模板引擎解析该文件。换句话说,该文件必须由Django提供。这意味着例如如果您在media
目录中有一个由Nginx提供服务的JS文件,那么您将无法在其中使用模板变量。
我希望同样适用于app引擎。但随后看到免责声明。我可能完全错了:P