javascript - 无法使用 django 变量和 javascript 变量创建 if 条件

标签 javascript python django django-templates

我在 javascript 中创建了变量类型表,我需要在该变量与 django 数据库中的变量之间使用 if 条件进行测试,但它不起作用。

示例:

var test_date = "2017-06-23";
var locations = [
    {% for v in vs %}

        {% if v.date ==  test_date %}

            ['okok',{{ v.latitude }},{{ v.longitude}}],

        {% endif %}

    {% endfor%}
        ]

第一个示例不起作用,我不知道为什么。

其他示例:

var test_date = "2017-06-23";
var locations = [
    {% for v in vs %}

        {% if v.date ==  "2017-06-23" %}

            ['okok',{{ v.latitude }},{{ v.longitude}}],

        {% endif %}

    {% endfor%}
        ]

当我将变量的值放入测试中时,它正在工作

最佳答案

模板的 Django 部分({% %})在服务器上执行,而 javascript 部分在客户端(仅在浏览器中)执行。模板标签内的所有变量都是django的变量。重点是 django 可以看到文本和模板标签。它不会执行任何 jacascript 行。

让我展示 django 和 javascript 如何看待您的第一个示例。

Django:

some text
    {% for v in vs %}

        {% if v.date ==  test_date %}

            another text

        {% endif %}

    {% endfor%}
        more text

现在您会看到没有任何 test_date 变量。如果没有 test_date 变量(为空),则它不能等于 v.date

JavaScript:

var test_date = "2017-06-23";
var locations = [
        ]

如您所见(您可以在浏览器的开发工具中检查)您的服务器没有为 JavaScript 生成任何文本,因此 locations 数组为空。

如果您只是想测试 v.date 是否等于某个字符串,则可以在与此模板对应的 view 中创建变量 test_date 并将其添加到上下文中.

关于javascript - 无法使用 django 变量和 javascript 变量创建 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44636205/

相关文章:

javascript - Neo4j REST 返回节点,但不返回关系

javascript - 从过滤的对象中获取 Firebase 唯一 ID

python - 打开多个具有不同参数的网页。 PyQt4

Python 欧拉方法在二体问题中的实现不起作用

django - 如何在 Django 中执行 SELECT MAX?

javascript - Jquery Mobile 使脚本执行两次

python - 套接字创建中的(0X0003)是什么?

python - 如何创建管理系统可以排序的 __unicode__ 字段?

python - Django ajax 重定向表单提交

javascript - FireFox - 将事件附加到动态添加的功能?