You can make any available available in the Jinja environment:
jinja_env = Environment(...) jinja_env.globals['url_for'] = url_for
For example, this u'foobar 'output in the shell:
from jinja2 import Environment env = Environment() env.globals['foo'] = lambda: "foobar" env.from_string('{% macro bar() %}{{ foo() }}{% endmacro %}{{ bar() }}').render()
jd.
source share