【发布时间】:2012-01-10 12:18:13
【问题描述】:
当尝试通过更新环境中的过滤器字典在模板环境中注册自定义过滤器时,我收到“TemplateAssertionError: no filter named 'format_number'”错误。
在我的模块中,我导入了如下环境模块:
from jinja2 import environment
在我的课堂上,我定义了以下方法:
class DashboardHandler(SecurePageHandler):
def format_number(number):
s = '%d' % number
groups = []
while s and s[-1].isdigit():
groups.append(s[-3:])
s = s[:-3]
return s + ','.join(reversed(groups))
def do_get(self):
# ... snip ...
env = environment.Environment(self)
env.filters['format_number'] = self.format_number
# ... snip ...
在我的 html 模板文件中,我尝试按如下方式实现过滤器:
{{top_five_url .total|format_number}}
这是怎么回事?
是否有默认环境实例,我们应该使用?
【问题讨论】:
标签: python filter environment jinja2