在jinja2中创建日期过滤器

时间:2016-02-29 18:12:03

标签: python mongodb jinja2

我正试图用过滤器计算出我的jinja2中记录的年龄。我用以下方式创建了一个简单的过滤器。日期存储在mongodb字段中,其原始格式应为python datetime对象的格式。以下是记录的示例:

 "date_update": {
        "$date": "2016-02-29T11:13:41.730Z"
    }, 


app.jinja_env.filters['record'] = lambda u: record(u)

def record(date_obj):
    print(date_obj)
    print(type(date_obj))
    return (datetime.datetime.today() - date_obj).days 

我按以下方式使用过滤器:

{{  myrec.date_update|record }}

如果我查看输出,我会看到以下内容:

class 'jinja2.runtime.Undefined'

所以我的问题是,我应该如何以正确的格式处理jinja2中的日期。

1 个答案:

答案 0 :(得分:1)

这看起来像是模板中的未知变量名称。从目前为止发布的所有内容来看,目前尚不清楚是否首先将变量myrec传递给模板渲染器。因此,为了获得更好的帮助,请发布一个展示错误的最小的,自包含的示例。