如何通过JavaScript设置Jinja2变量的值
我正在尝试用一组JSON数据对象来填充一个HTML表格。为此,我使用了jinja模板。为了填充数据,我打算遍历一个jinja的数据列表,并希望通过一个JavaScript函数来设置这个列表的值。
HTML模板:
{% for object in list %}
<td>object.name</td>
<td>object.age</td>
{% endfor %}
在AJAX处理程序中,我通过JSON发送了一个列表,这个列表在我的JavaScript中。请问如何从JavaScript或AJAX处理程序中设置jinja2变量的值呢?
1 个回答
10
你需要想清楚你在问什么。Jinja2 是一种在服务器上运行的技术,模板在发送到浏览器之前就已经被处理好了。你的 Ajax 函数是在客户端运行的,也就是在列表变量变成 HTML 之后才执行的。所以,你想要的事情是做不到的。
你可以让你的 Ajax 函数返回已经处理好的 HTML,而不是 JSON(也就是说在 Ajax 的服务器端处理程序中渲染 Jinja 模板),或者使用一种在客户端运行的模板技术。Jinja2 的作者 Armin Ronacher 还写了一个叫 JsonJinja 的工具,可能可以满足你的需求。