我似乎无法弄清楚这一点。我有一个 Python/Django 模板,它使用 {{ variable }} 呈现我的变量,并且我试图在 HTML 页面上使用 Javascript 在用户单击按钮时操纵变量。
我看到的问题是 Javascript 似乎对待 {{ 不同,因此当它呈现为 HTML 时,它不会转换变量(即它显示“+ id +”而不是下面代码中的 5:
function changeDate()
id = 5;
html = "{{ variable[" + id + "] }}";
document.getElementById('test').innerHTML = html;
我试过像这样转义它们:“{{”,这似乎有效(即,它将 'id' 转换为 5)但是 Python 不会将字符串解释为变量,它只是在页面上显示字符串作为 {{ variable[5] }} 而不是该变量的实际值。
我的猜测是,发生这种情况是因为 Javascript 在页面已经呈现后将DIV 转换为新文本,因此 Python 在首次呈现页面时永远没有机会转换变量。
所以我认为有两种可能的解决方案:
- 找出正确呈现变量的方法,同时将 {{ 和 }} 留在字符串中
或者
- 弄清楚如何让 Python 在通过 Javascript 显示之前解释 {{ variable[5] }} 的字符串版本。
任何帮助表示赞赏!