文字列からjinja2を使う
jinja2を文字列に対して適用したいことがあったので。
Kayで定義しているCustom Filterも読み込むようにしてある。
# -*- coding: utf-8 -*-
import logging
from jinja2 import Environment
from jinja2.utils import import_string
from kay.conf import settings
def render(string, **kwargs):
enviroment = Environment()
for key, value in settings.JINJA2_FILTERS.iteritems():
try:
enviroment.filters[key] = import_string(value)
except:
logging.error('fail to load filter:(%s:%s)' % (key, value,))
html = enviroment.from_string(string).render(kwargs)
return html