Django-如何使用Django.contrib.personalize?

Django-如何使用Django.contrib.personalize?,django,Django,我使用了给定的函数来获取表的数据,并检查值是否为负值,因此突出显示它。现在我使用了django的人性化,使数字更容易阅读。但这段代码不是;没有执行 var formatBackground=function(){ tdArray=document.getElementsByTagName('td'); for(l=0; l<=tdArray.length-1;l++){ val = tdArray[l].innerHTML; if(!isNa

我使用了给定的函数来获取表的数据,并检查值是否为负值,因此突出显示它。现在我使用了django的
人性化
,使数字更容易阅读。但这段代码不是;没有执行

var formatBackground=function(){
    tdArray=document.getElementsByTagName('td');
    for(l=0; l<=tdArray.length-1;l++){
        val = tdArray[l].innerHTML;
        if(!isNaN(parseFloat(val)) && isFinite(val)){
            console.log("INCOMMING VALUE: ",val);
            tdArray[l].innerHTML='{{ val|floatformat:"3"|intcomma }}';//NON EXECUTED LINE OF CODE
            }
        if(Math.abs(parseFloat(val))!== parseFloat(val) && !isNaN(Math.abs(parseFloat(val)))){
            tdArray[l].setAttribute('style','color: red');
            tdArray[l].parentNode.setAttribute('style','background-color: pink');
        }
    }
};
var formatBackground=function(){
tdArray=document.getElementsByTagName('td');

对于(l=0;l这不可行。您似乎未能理解服务器端模板代码和客户端JavaScript之间的区别。模板代码在传递到浏览器之前在服务器端进行了全面评估。客户端控件更改触发的JS不可能评估模板标记。

这不可行。您似乎未能理解服务器端模板代码和客户端JavaScript之间的区别。模板代码在传递到浏览器之前,会在服务器端进行完全评估。由客户端控件更改触发的JS不可能评估模板标记。

您不能混合使用服务器端(Django)客户端(JS)代码是这样的:整个Django代码在将任何内容发送到浏览器之前被执行,此时整个JS代码被执行

var formatBackground=function(){
    tdArray=document.getElementsByTagName('td');
    for(l=0; l<=tdArray.length-1;l++){
        val = tdArray[l].innerHTML;
        if(!isNaN(parseFloat(val)) && isFinite(val)){
            console.log("INCOMMING VALUE: ",val);
            tdArray[l].innerHTML='{{ val|floatformat:"3"|intcomma }}';//NON EXECUTED LINE OF CODE
            }
        if(Math.abs(parseFloat(val))!== parseFloat(val) && !isNaN(Math.abs(parseFloat(val)))){
            tdArray[l].setAttribute('style','color: red');
            tdArray[l].parentNode.setAttribute('style','background-color: pink');
        }
    }
};

在您的例子中,您正在定义一个JS变量
val
(在浏览器中),然后尝试使用Django对其进行格式化(在浏览器看到之前)。

您不能混合使用服务器端(Django)和客户端(JS)代码如下:整个Django代码在将任何内容发送到浏览器之前执行,此时执行整个JS代码

var formatBackground=function(){
    tdArray=document.getElementsByTagName('td');
    for(l=0; l<=tdArray.length-1;l++){
        val = tdArray[l].innerHTML;
        if(!isNaN(parseFloat(val)) && isFinite(val)){
            console.log("INCOMMING VALUE: ",val);
            tdArray[l].innerHTML='{{ val|floatformat:"3"|intcomma }}';//NON EXECUTED LINE OF CODE
            }
        if(Math.abs(parseFloat(val))!== parseFloat(val) && !isNaN(Math.abs(parseFloat(val)))){
            tdArray[l].setAttribute('style','color: red');
            tdArray[l].parentNode.setAttribute('style','background-color: pink');
        }
    }
};

在您的例子中,您正在定义一个JS变量
val
(在浏览器中),然后尝试使用Django对其进行格式化(在浏览器看到它之前).

您最喜欢的html/javascript调试器对此有何解释?这是在js文件中还是在django模板中?möter--它不会打印任何异常,只是通过它,不会显示任何错误。karthikr--它在django模板中-您最喜欢的html/javascript调试器对此有何解释?这是在js文件中还是在django模板中?möter--它不打印任何异常,只是通过它,没有显示任何错误