【问题标题】:How to compare Django template language variables with javascript variables?如何比较 Django 模板语言变量和 javascript 变量?
【发布时间】:2018-08-14 16:19:28
【问题描述】:

我的 Django 模板中有这样的内容:

<script>
var selected_direction = $("#id_direction").val();
{% for bus_stop in bus_stops %}

     {% if bus_stop.direction == selected_direction %}
        // Do something //
     {% endif %}

{% endfor %}
</script>

我可以用 bus_stops 做任何事情,直到它到达 {% if %} 语句。如何比较 javascript 变量和 django 变量?

/编辑

也许问题没有正确构建。但是我通过这样做解决了我的问题:

<script>
var selected_direction = $("#id_direction").val();
var temp_direction;
{% for bus_stop in bus_stops %}
    temp_direction = "{{ stop.direction }}";
     if (temp_direction == selected_direction){
        ////////
        ///////
     }
{% endfor %}
</script>

【问题讨论】:

  • 你到底想做什么? Django 在服务器端运行。那时您的任何客户端代码都尚未运行。

标签: javascript django jinja2


【解决方案1】:

你可以比较一下这个条件

{% if bus_stop.direction == selected_direction %}

通过将你的模板值转换为js值,并在js中比较它的条件如下。

if(selected_direction == '{{bus_stop.direction}}')
{
  //code here
}

【讨论】:

    【解决方案2】:

    这是一个post,它解释了它们如何协同工作。这涉及注射风险。也许对您的数据进行 ajax 调用并在 javscript 中执行所有操作。

    【讨论】:

      猜你喜欢
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-19
      相关资源
      最近更新 更多