如何将javascript变量与django一起使用,反之亦然?
当用户单击按钮时,我尝试使用JavaScript生成1到132(含)之间的随机数 到目前为止还不错,它产生了价值,我能够得到想要的输出 问题: 我将在自定义Django过滤器(或任何它被称为的东西)中使用生成的值。让我用我的代码更好地解释一下:如何将javascript变量与django一起使用,反之亦然?,javascript,python,html,django,web,Javascript,Python,Html,Django,Web,当用户单击按钮时,我尝试使用JavaScript生成1到132(含)之间的随机数 到目前为止还不错,它产生了价值,我能够得到想要的输出 问题: 我将在自定义Django过滤器(或任何它被称为的东西)中使用生成的值。让我用我的代码更好地解释一下: <script type="text/javascript"> function random_generator() { var rand = []; var i; var j;
<script type="text/javascript">
function random_generator()
{
var rand = [];
var i;
var j;
var text = "";
for(i = 0; i < 5; ++i)
{
rand[i] = Math.floor((Math.random() * 132) + 1);
text += rand[i];
}
document.getElementById('rand1').innerHTML = text; //Just trying to see if the numbers are generated properly
var text2 = "{%for i in allb %}{%if i.id == " + text + "|add:0 %}<p>{{ i.name }}</p>{% endif %}{%endfor%}";
document.getElementById('rand2').innerHTML = text2;
document.writeln(rand[0]);
}
</script>
函数随机_生成器()
{
var rand=[];
var i;
var j;
var text=“”;
对于(i=0;i<5;++i)
{
rand[i]=Math.floor((Math.random()*132)+1);
text+=rand[i];
}
document.getElementById('rand1')。innerHTML=text;//只是想看看数字是否正确生成
var text2=“{%fori-in-allb%}{%if-i.id==”+text+“| add:0%}{{i.name}{%endif%}{%endfor%}”;
document.getElementById('rand2')。innerHTML=text2;
书面文件(兰特[0]);
}
以下是我试着做的其他事情:
<div id="b005" class="modal">
<div id="rand1"></div>
<div id="rand2"></div>
{%for i in allb %}
{%if i.id == **WANT TO USE THE JS VARIABLE HERE**|add:0 %}
<p>{{ i.name }}</p>
{% endif %}
{%endfor%}
</div>
{allb%中的i的%s}
{%if i.id==**要在此处使用JS变量**|添加:0%}
{{i.name}
{%endif%}
{%endfor%}
注意:allb
是我从视图中传递的对象。py
还有其他方法可以做到这一点吗
提前感谢:)正如丹尼尔已经提到的,你必须首先了解幕后的情况。django模板只存在于服务器上,所有模板代码都在该服务器上执行。此模板代码也可以用于非html呈现,就像您在random_generator()脚本中所做的那样
但浏览器只接收模板的评估版本。因此,不可能将django模板代码(服务器端)与客户端js进行比较 这个问题是基于对前端和后端代码之间差异的根本误解。