Jinja2 in Google App Engine

caching, google-app-engine, jinja2, python

Solution

Rodrigo Moraes created some special loaders for Jinja2 under GAE, see here. It's not bytecode caching but it precompiles all templates to Python so you avoid the Jinja2 parsing overhead.

Note that (from this GAE page):

compiled application code is cached for rapid responses to web requests

Problem

I have started using Jinja2 as my templating engine on Google App Engine (in Python). My question is this: Will bytecode caching work in production? It is working very well on the development server, but I read somewhere that bytecode caching depends on the `marshal` module, which is not supported in App Engine. This answer to a different question provides a possible solution by changing `marshal` to use `pickle` methods. Has anyone tried this? In general, is there anything else that I should take into consideration when using Jinja2 with App Engine? Any help would be greatly appreciated! Thanks.

Original source