Hi all,
in our current project we are using jinja with the pyramid_jinja2-package
and have defined the search-path in __init__.py as usual:
config.add_jinja2_search_path('proj:templates', name='.html')
Now I need to use that renderer/jinja-environment to render a file-template
to a string (not as a response). The documentation at
http://docs.pylonsproject.org/projects/pyramid/en/1.5-branch/narr/templates.html#using-templates-directly
says to do it like this:
from pyramid.renderers import render
render("email/_event.html", context, request=request)
But I get the strong impression that render(..) is broken when a
search-path is configured for pyramid_jinja2, because it inserts the
current package (e.g. 'proj:util') into the lookup-path:
OSError: [Errno 22] Invalid argument:
'PATH_TO_OUR_PROJECT\\proj\\proj\\templates\\proj.util:templates\\email\\_event.html'
As a workaround, I could probably try to access the jinja2-environment
directly, similar to here:
http://stackoverflow.com/a/15539751
from pyramid_jinja2 import IJinja2Environment
env = request.registry.queryUtility(IJinja2Environment, name='.html')
But as Michael writes, this is unsupported and a private API.
So, that leads me to two questions:
1) Has anybody gotten the template-lookup in render(..) to work when a
search_path was configured? How?
2) Alternatively, is there another option to get to the jinja-environment
besides:
env = request.registry.queryUtility(IJinja2Environment, name='.html')
Thanks,
Martin
--
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pylons-discuss.
For more options, visit https://groups.google.com/d/optout.