Jinja2:将十六进制转换为Base64

时间:2015-07-05 10:36:35

标签: python jinja2

这可能吗?

假设我有十六进制值32ABE23,是否有过滤器将其显示为Base64? 好吧,我看到有| b64encode过滤器。

我匆匆跟随但没有成功

{{ 32ABE23 | string() | b64encode }}

我得到了

TemplateAssertionError: no filter named 'b64encode'

1 个答案:

答案 0 :(得分:4)

您可以在Jinja2中定义自己的过滤器:

import base64
def b64encode(s):
    return base64.b64encode(s)

jinja2_environment.filters['b64encode'] = b64encode

当然这可以简化为:

import base64
jinja2_environment.filters['b64encode'] = base64.b64encode