【问题标题】:How to pass a Javascript variable in django template-tag如何在 django 模板标签中传递 Javascript 变量
【发布时间】:2018-12-20 08:25:06
【问题描述】:

你好我有这个问题

如果有变量

<script>
 var a = True
<script>

我可以像这样使用变量吗

{% if a %}
  <h1> True</h1>
{%else%}
  <h1> False </h1>
{%endif%}

两段代码在同一个页面中

我不想使用过滤器,这会使我的工作变得复杂谢谢

【问题讨论】:

  • 不...因为 JavaScript 在前端运行,而 Django(模板)在后端运行。

标签: javascript django python-3.x django-templates


【解决方案1】:

您可以在 JavaScript 中进行 html 修改

例如:

<script>
    var a = true;
    if (a){ 
       document.getElementById("your_h2_tag_ID").innerHTML = "True";
    }else{
       document.getElementById("your_h2_tag_ID").innerHTML = "False";
    }
<script>

【讨论】:

    【解决方案2】:

    不,你不能。对于 Django,var a = True 只是一个字符串。

    Django 是创建 HTML 并告诉浏览器使用什么字符串的那个,浏览器会解释字符串并发现它是 JavaScript,所以它会执行并最终看到 a 是一个布尔值。

    到那时,Django 早已不复存在

    告诉 django 使用 a 作为布尔值的唯一方法是向服务器发出另一个请求 sending a as a JSON or querystring parameter,然后解释来自 python/django 的请求并在模板中使用它。 (相当昂贵的任务)

    【讨论】:

      猜你喜欢
      • 2020-04-24
      • 2021-02-15
      • 2015-06-22
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 2012-09-27
      • 2014-03-04
      • 1970-01-01
      相关资源
      最近更新 更多