1

我正在尝试在浮动中添加逗号,以便在 GAE 上向我的应用程序的最终用户显示。这些数字来自 json,是 10 项查询的一部分,每个查询 2 次(也就是每次页面查看 20 个数字)。例如。

"total_reach": 276160.0, "total_reach": 500160.0 

我正在使用 python GAE SDK 1.7.3 模板系统,只是想用逗号向最终用户显示数字,例如:276,160 和 500,160。请注意,我使用的是默认的 webbapp2 和标准模板(来自 google.appengine.ext.webapp 导入模板),据我所知,它们基于 Django。

Django floatformat 可以很好地摆脱小数点,但现在我需要添加逗号。Django 的人性化与它的 intcomma 过滤器看起来很完美。但是,我根本不知道如何启用它。我怀疑它非常简单,而且我很密​​集(而且我对 python 很陌生) - 但我没有想法。

虽然我尝试了一系列事情,但最近和最有希望的是(基于我对来源的理解):

from google.appengine.ext.webapp.template import register_template_library
register_template_library('django.contrib.humanize.templatetags.humanize')

这给了我以下500:

No module named django.contrib.humanize.templatetags

但它似乎在源头中。

我很茫然。我四处搜索,发现像这样的项目不起作用,似乎是针对 webapp(而不是 webapp2)。帮助和感谢!

更新:

无法使用 settings.py 方法进行。最后,我自己解决了。请参阅下文了解我的实用但不理想的解决方案。

4

2 回答 2

0

无法使用 settings.py 方法进行。最后,我使用了这个答案的变体。我从这里复制了源代码,并将 humanize.py 文件顶部的各种 Django 导入替换为

from google.appengine.ext import webapp

register = webapp.template.create_template_register() 

然后我添加到我的 main.py 中:

template.register_template_library('tags.humanize')

然后在模板中,我按预期添加了过滤器(例如 item.count|intcomma)。我打赌这不是“最佳实践”,但它确实有效。

于 2012-11-15T05:27:41.597 回答
0

我猜你没有添加django.contrib.humanizeINSTALLED_APPS你的settings.py文件中。

于 2012-11-08T14:50:16.580 回答