将django变量传递给javascript文件而不会出现安全问题

时间:2017-11-03 15:50:39

标签: javascript django

澄清:

  

我真的不想将js嵌入我的html。我的建议   得到,比如,这个或那个帖子可能包含可能的答案,   在这些答案中,他们将js嵌入html。我的两个   jshtml很大。所以嵌入肯定会让它们变得混乱   难以调试

在我的项目中,有一个模块,用户可以在其中查看有关产品的详细信息并将产品添加到购物车。为此,他需要指定他想要添加的产品数量。看起来像 this

为此,我有一个+-图标。我有一个js文件,每次点击+-时,它会递增或递减。

现在,我想要的是:

  

用户可以添加产品,但总数超过数量   产品存储在数据库中,即使他也无法添加产品   单击+按钮。例如,如果有4个项目并且他点击了   然后在5点击5次,金额将保持4,不会   增加。

所以我在js文件中需要一个django变量。我抬头看了怎么做,我找到了一些解决方案。

有些解决方案说var data = '{{data|escapejs}}',而有些解决方案说

<script>
var myTable = {% autoescape off %}{{ table_data }}{% endautoescape %};
</script>

但我不想像我这样js嵌入html。这是我的js文件:

function incrementValue()
{
    var value = parseInt(document.getElementById('quantity').value, 10);
    value = isNaN(value) ? 0 : value;
    value++;
    document.getElementById('quantity').value = value;
}

我的html,就是我这样称呼js

<span class="btn btn-default btn-lg btn-qty" onclick="incrementValue()">
    <span class="glyphicon glyphicon-plus" aria-hidden="true">
    </span>
</span>

<input class="btn btn-default btn-lg btn-qty" id="quantity" value="0" />

<span class="btn btn-default btn-lg btn-qty" onclick="decrementValue()">
    <span class="glyphicon glyphicon-minus" aria-hidden="true"></span>
    </span>
</span>

django变量传递给js的最佳方法是什么?或者,我应该如何将django变量传递给js以便不会有漏洞或没有安全问题,我也不想在js中嵌入html

0 个答案:

没有答案