让django的人性化在App Engine上运行

时间:2012-11-07 19:33:19

标签: python django google-app-engine

我试图在浮动中添加逗号,以便在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过滤器看起来很完美。但是,我根本无法弄清楚如何启用它。我怀疑它很简单,而且我是密集的(而且我是愚蠢的蟒蛇) - 但我没有想法。

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

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

但它似乎在源头。

我非常茫然。我已经四处搜索,发现像this这样的项目,它们似乎没有用,似乎是针对webapp(而不是webapp2)。帮助和感谢!

更新:

无法使用settings.py方法进行操作。最后,我自己解决了这个问题。请参阅下面的我的功能,但不是理想的解决方案。

2 个答案:

答案 0 :(得分:0)

我猜您没有在django.contrib.humanize文件中将INSTALLED_APPS添加到settings.py

答案 1 :(得分:0)

无法使用settings.py方法实现目标。最后我使用了variant of this answer。我复制了source code from here,用

替换了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)。我认为这不是“最佳实践”,但它确实有效。