Google App Engine中的Jinja2

Cam*_*ron 12 python google-app-engine caching jinja2

我已经开始在Google App Engine上使用Jinja2作为我的模板引擎(在Python中).

我的问题是:字节码缓存会在生产中起作用吗?它在开发服务器上工作得非常好,但我在某处读到字节码缓存取决于marshal模块,App Engine不支持该模块.这个对不同问题的回答通过改变marshal使用pickle方法提供了一种可能的解决方案.有没人试过这个?

一般来说,在将Jinja2与App Engine一起使用时,还有其他什么需要考虑吗?

任何帮助将不胜感激!

谢谢.

Vin*_*jip 12

Rodrigo Moraes在GAE下为Jinja2创建了一些特殊的装载器,请看这里.它不是字节码缓存,但它会将所有模板预编译为Python,因此您可以避免使用Jinja2解析开销.

请注意(来自此GAE页面):

缓存已编译的应用程序代码,以便快速响应Web请求


Dan*_*l F 9

Jinja2现已纳入GAE.显然,您需要将应用程序迁移到Python 2.7.

在app.yaml添加

libraries:
- name: jinja2
  version: "2.6"
Run Code Online (Sandbox Code Playgroud)

以下是此信息的来源:http://blog.notdot.net/2011/11/Migrating-to-Python-2-7-part-2-Webapp-and-templates