gpt4 book ai didi

javascript - 使 django 的消息出现在 Javascript 警报而不是 html 中?

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:55 25 4
gpt4 key购买 nike

我正在尝试在用户使用 javascript 的警报功能登录/注册时向他们显示消息。我正在尝试这样的事情,但它似乎不起作用。

将 django 的变量传递给模板中的脚本的正确语法是什么?

这就是我想要的,但这种语法不起作用。

{% if messages %}{% for message in messages %}<script>alert({{}});</script>{% endfor %}{% endif %}

但是以下是有效的:

{% if messages %}<ul>{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}</ul>{% endif %}

最佳答案

Django 在提供 Javascript 之前处理模板标签 - 您可以像使用 HTML 一样在 Javascript 中使用标签,没有区别,因为它们都已翻译到达客户端。

例如,这是我使用的:

<script>
{% if messages %}
{% for message in messages %}
Materialize.toast('{{ message }}', 4000);
{% endfor %}
{% endif %}
</script>

在你的情况下,那是:

{% if messages %}
<script>
{% for message in messages %}
alert("{{ message }}");
{% endfor %}
</script>
{% endif %}

请注意 {{ message }} 周围的引号 - 如果您的消息显示为 alert(Hello World) 而不是 alert("你好,世界”)。我还将脚本移到了 for 循环之外,但我认为您的方式不会导致任何问题。

虽然请记住,如果有多条消息,为每条消息显示警报可能会很烦人。

关于javascript - 使 django 的消息出现在 Javascript 警报而不是 html 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39770562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com