gpt4 book ai didi

javascript - 我的 django 模板 bool 变量在 javascript 中没有按预期工作

转载 作者:行者123 更新时间:2023-12-02 23:10:16 24 4
gpt4 key购买 nike

这是我的 base.html header 中的代码

    <script>
var auth_status = "{{ user.is_authenticated }}"
</script>

{% block scripts %} {% endblock %}

我网站中的其余脚本位于 block 脚本中。

在子模板中(在脚本 block 和脚本标记内)我有这个代码,

         if (auth_status) {
//something
}

手头的错误是 auth_status 始终为 True,而它应该根据用户是否登录而打开和关闭。 request_context 正在传递到模板,因此不应出现错误。

谢谢

最佳答案

据我所知,您的 auth_status 变量似乎是一个字符串,而不是 bool 值。 javascript 上具有非空字符串的变量在 if 子句上的计算结果将为 true

无论如何,类似

<script>
var auth_status = {{ user.is_authenticated }};
</script>

将不起作用,因为这将生成以下 HTML:

<script>
var auth_status = True;
</script>

由于 Python 的 True bool 值是大写的。

这应该完成从 Python 到 Javascript 的转换:

<script>
var auth_status = {{ user.is_authenticated|yesno:"true,false" }};
</script>

在此处查看 yesno 文档:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#yesno

关于javascript - 我的 django 模板 bool 变量在 javascript 中没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395579/

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