【发布时间】:2014-12-16 13:24:52
【问题描述】:
我正在使用(优秀的)Python Flask framework 构建一个网站,其中有一个 templates/ 文件夹和一个 static/ 文件夹。顾名思义,templates 文件夹包含通过jinja2 templating engine 呈现的模板,而 static 文件夹包含静态内容,例如 css、图像和静态 javascript 文件。
javascript 文件是我遇到的麻烦。有时我想在一段 js 中放置一个 jinja 变量,例如:
var requestJson = {'text': messageText, 'toUserId': {{ user.id }}};
如果我在 static/ 文件夹中的 .js 文件中执行此操作,它不会被渲染,所以这只有在我将它放在模板文件中的 <script> 标记之间时才有效。这行得通,但感觉有点乱,因为我现在在静态文件夹中有一些 js,在模板文件中有一些 js。
我当然可以通过在模板中定义 document.toUserId = {{ user.id }}; 并在 .js 文件中使用它来解决这个问题,但是,是的,这也有点像 hack。
所以我的问题是;在javascript中处理从jinja插入动态值的最佳/pythonic/neest方法是什么?
【问题讨论】:
标签: javascript python templates flask jinja2