2015-07-05 4 views
1

Возможно ли это?Jinja2: Преобразование hex в Base64

Скажите, что у меня есть значение шестнадцатеричного значения 32ABE23, есть ли фильтр, показывающий его как Base64? Ну, я видел, что есть | b64encode фильтр.

Я trried следующий без успеха

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

я получаю

TemplateAssertionError: no filter named 'b64encode' 

ответ

3

Вы можете определить свои собственные фильтры в Jinja2:

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

jinja2_environment.filters['b64encode'] = b64encode 

Конечно, это может быть упрощена:

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

В Flash этот код работает, помещая @ app.template_filter ('b64encode'). –

Смежные вопросы