如何在 django if 语句(模板)中使用 javascript 变量?

How to use javascript variable in django if statement (template)?

我正在尝试使用 Django if 语句更新我的 html 元素:

element.innerHTML= `{% if person.name == ${value} %} something {% endif %}`

但我收到一个错误:

TemplateSyntaxError at /
Could not parse the remainder: '${value}' from '${value}'

我也试过:

 `{% if person.name == ${value} %} something {% endif %}`

但是语句不能正常工作。 我可以做些什么来将 javascript 与 Django 变量结合起来吗?

简答
不,你不能这样做,至少不能那么容易。

详细(略)解答
在页面呈现到客户端之前,Django 会在服务器(后端)端用结果替换所有标记 {{ }}{% %}。您的 JavaScript (JQuery?) 变量由客户端(前端)评估。 Django 不会知道 ${value} 是什么。所以,不,你不能在 Django 模板代码中使用 JavaScript 变量。

这并不意味着你不能达到你想要的,但必须按照以下方式完成。您的 JavaScript 代码可以 fetch the value of person.name from a view and then you can do your if statement in the JavaScript file after the response from the fetch is received. The view could return the value of person.name as a JsonResponse