【问题标题】:SyntaxError: expected expression, got '&' (Django)SyntaxError: 预期的表达式,得到 '&' (Django)
【发布时间】:2020-06-18 20:28:51
【问题描述】:

我有一个以 Django 为后端的分析仪表板。 在 Python 中分析数据后,我将发送带有名称和显着性的字典。

var things_mentioned = {{entity.name}};
var things_salience = {{entity.salience}};

产生错误: SyntaxError: expected expression, got '&'

以下代码不会产生任何错误并且可以完美运行:

var things_mentioned = ['noodles', 'food', 'Chinese', 'flavor', 'umami flavor'];
var things_salience = {{entity.salience}};

当我尝试在纯 HTML 页面中查看 {{entity.name}} 值时,它会准确显示此

['noodles', 'food', 'Chinese', 'flavor', 'umami flavor'].

另外,我的整个程序中没有一个“&”。

【问题讨论】:

  • 能否请您提供更多信息和来自控制台的 JS 错误堆栈跟踪?

标签: javascript python html django


【解决方案1】:

它将尝试对字符串进行 HTML 转义。您可以使用 JavaScript 转义。最安全的方法可能是使用|json_script template filter [Django-do]。因此,您可以将其用作:

{{ entity.name|json_script:"things_mentioned" }}
var things_mentioned = JSON.parse(document.getElementById('things_mentioned').textContent);

【讨论】:

    猜你喜欢
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 2015-09-13
    相关资源
    最近更新 更多