SyntaxError:应为表达式,获取了'&'(Django)

2024-04-24 00:37:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个以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'].

而且,这里没有一个“和”在我的整个计划中


Tags: 数据djangonamefoodvar错误仪表板entity
1条回答
网友
1楼 · 发布于 2024-04-24 00:37:49

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

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

相关问题 更多 >