【问题标题】:Javascript variables in django static tagdjango静态标签中的Javascript变量
【发布时间】:2014-02-07 15:06:52
【问题描述】:

我的情况:
在 Django 模板中,我想使用这样的东西(当前错误):

<script>
   var myimg1='img1.jpg';
   var myimg2='img2.jpg';
</script>

在其他地方,作为 context_var 一个适当的上下文变量:

<img src="{% if context_var %}
            {% static myimg1 %}
          {% else %}
            {% static myimg2 %}  
          {% endif %}" />

如何以简单的方式获得相同的结果?
没有简单的方法可以在模板中定义模板变量,对吧?

【问题讨论】:

    标签: javascript python django templates tags


    【解决方案1】:

    好吧,你可以像这样定义一个模板变量:

    {% with myimg1="img1.jpg" myimg2="img2.jpg" %}
    
    <script>
       var myimg1={{ myimg1 }};
       var myimg2={{ myimg2 }};
    </script>
    
    <img src="{% if context_var %}
                {% static myimg1 %}
              {% else %}
                {% static myimg2 %}  
              {% endif %}" />
    
    {% endwith %}
    

    但是Django template philosophy 不赞成这样的事情。引用:

    模板系统故意不允许以下内容:

    • 变量赋值
    • 高级逻辑

    最好将它们作为您视图中的上下文变量传递。

    【讨论】:

      猜你喜欢
      • 2015-04-18
      • 2018-05-23
      • 2013-05-15
      • 2019-04-12
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 2014-05-04
      • 2012-06-05
      相关资源
      最近更新 更多