javascript - 你能对 html 脚本中双花括号内的变量进行数学运算吗?

标签 javascript html django

这是我当前拥有的 html 文件:

<!DOCTYPE html>
<html>
{{unit.unit_class}}

<div id="stats"></div>

<script>
var str ="", i;
for(i = 1; i<=99; i++)
{
    str = str + "<p>level " + i + ": hp {{unit.hp_current}}</p>";
}
document.getElementById("stats").innerHTML = str;
</script>
</html>

for 循环 {{unit.hp_current}} 中的该位是十进制数。它的值当前设置为 0.00,它确实显示在我的页面上。我想知道我是否能够对双花括号内的这个变量进行算术运算。我尝试执行类似 {{unit.hp_current + 3}} 或 {{unit.hp_current}} + 3 的操作,以使程序显示 3.00 而不是 0.00,但它似乎不起作用。我需要在 view.py 中为此创建一个函数吗?

最佳答案

不,django模板语言不支持变量操作。您需要在代码中计算值,然后将它们传递给模板。另一种方法是在模板中使用函数,它将计算您需要的值:

When the template engine encounters a variable, it evaluates that variable and replaces it with the result. ...

If the resulting value is callable, it is called with no arguments. The result of the call becomes the template value. https://docs.djangoproject.com/en/3.0/ref/templates/language/

另一种选择是使用过滤器: https://docs.djangoproject.com/en/3.0/ref/templates/language/#filters

关于javascript - 你能对 html 脚本中双花括号内的变量进行数学运算吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59527137/

相关文章:

javascript - 使用 jQuery 将 Class 添加到 div 中的前 5 个元素

html - 链接框的问题

html - CSS:在两列中拆分字段

python - Django:如果为空,则将 request.POST 中的值更改为 0

python - Django:反向 'delete',参数 '(49,)' 和关键字参数 '{}' 未找到。尝试了 1 个模式:['tidbit/delete_tidbit/' ]

javascript - 手动复制/粘贴隐藏数据

javascript - 什么时候应该使用一个事件监听器,什么时候应该使用多个?

javascript - 手动计算 CSS 框高度

php - 根据页面标题自动重命名下载的文件?

python - Django+Nginx+uWSGI = 504 网关超时