下面是我的base.html头文件中的代码

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

    {% block scripts %}  {% endblock %}

我网站里的睡觉脚本都在挡路脚本里.

在子模板中(在脚本挡路内和在脚本标签内)我有这个代码,

         if (auth_status) {
          //something
         }

手头的错误是AUTH_STATUS始终为True,何时应根据用户是否登录而打开和关闭.REQUEST_CONTEXT正在传递给模板,因此这不应该是错误.

谢谢

推荐答案

在我看来,您的auth_status变量似乎是一个字符串,而不是布尔值.javascript上具有非空字符串的变量在if子句上的计算结果将为true.

不管怎么说,像这样的东西

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

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

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

因为Python的True Boolean被提升了.

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

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

在此处判断Yesno Docs:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#yesno

Django相关问答推荐

Django www.example.com从常量列表中删除值

通过父模型查询子对象-Django

django-filter compose 过滤的 url

DjangoAdmin与外部数据库的模型无法保存或过滤

CsrfViewMiddleware 和 enforce_csrf 有什么区别?

在 Django Admin change_list 视图中更改 list_editable 字段时保存 Django 模型

Django 模板:翻译带有 HTML 的文本块的最佳实践

Django 嵌套事务 - with transaction.atomic()

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

Django:在模板中显示当前语言环境

在 Scrapy 中访问 django 模型

Python 和 Django OperationalError (2006, 'MySQL server has gone away')

在 Django 网站上找不到页面 404?

django - pisa:将图像添加到 PDF 输出

将 XML 从 URL 解析为 python 对象

始终将用户包含在 django 模板上下文中

Python 社区里的小马是怎么回事?

刷新时重新提交的django表单

如何测试 Django QuerySets 是否相等?

django.db.utils.OperationalError 无法连接到服务器