首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用django.contrib.humanize?

如何使用django.contrib.humanize?
EN

Stack Overflow用户
提问于 2013-08-06 14:15:08
回答 2查看 419关注 0票数 1

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

代码语言:javascript
复制
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');
        }
    }
};

请帮帮我,我该怎么做?

我装了“{% load humanize %}

还将'django.contrib.humanize'放在my INSTALLED_APPS中,在settings.py

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-06 14:44:58

这不管用。您似乎没有理解服务器端模板代码和客户端JavaScript之间的区别。在将模板代码传递给浏览器之前,将在服务器端对其进行全面评估。由客户端控件更改触发的JS不可能计算模板标记。

票数 3
EN

Stack Overflow用户

发布于 2013-08-06 14:45:25

您不能像这样混合服务器端( Django )和客户端( JS )代码:在向浏览器发送任何内容之前执行整个Django代码,此时将执行整个JS代码。

在您的示例中,您定义了一个JS变量val (在浏览器中),然后尝试使用Django (在浏览器看到它之前)格式化它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18082686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档