Django模板引擎和外部js文件

时间:2010-09-09 17:44:49

标签: python django google-app-engine django-templates djangoappengine

我正在编写一个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以便它知道替换那里的引用?

2 个答案:

答案 0 :(得分:3)

将值插入javascript可能是一个坏主意;如果脚本是静态的并且让它从DOM中获取数据(假设它是您正在呈现的HTML页面的一部分)或者使用AJAX调用从服务器获取必要的数据,那么它是否更有意义? ?

答案 1 :(得分:1)

免责声明:我对应用引擎的了解有限,因此这个答案可能无法满足您的目的。

在Django中,如果您需要能够将变量从视图传递到JS文件,则必须确保模板引擎解析该文件。换句话说,该文件必须由Django提供。这意味着例如如果您在media目录中有一个由Nginx提供服务的JS文件,那么您将无法在其中使用模板变量。

我希望同样适用于app引擎。但随后看到免责声明。我可能完全错了:P