Jinja2 в Google App Engine - PullRequest
       23

Jinja2 в Google App Engine

12 голосов
/ 02 марта 2010

Я начал использовать Jinja2 в качестве движка шаблонов в Google App Engine (на Python).

У меня такой вопрос: будет ли работать кэширование байт-кода в производстве? Он очень хорошо работает на сервере разработки, но я где-то читал, что кэширование байт-кода зависит от модуля marshal, который не поддерживается в App Engine. Этот ответ на другой вопрос дает возможное решение путем изменения marshal на использование pickle методов. Кто-нибудь пробовал это?

В общем, есть ли что-то, что я должен учитывать при использовании Jinja2 с App Engine?

Любая помощь будет принята с благодарностью!

Спасибо.

Ответы [ 3 ]

12 голосов
/ 03 марта 2010

Родриго Мораес создал несколько специальных загрузчиков для Jinja2 под GAE, см. здесь . Это не кэширование байт-кода, а предварительная компиляция всех шаблонов в Python, поэтому вы избежите накладных расходов при разборе Jinja2.

Обратите внимание, что (с этой страницы GAE ):

код скомпилированного приложения кешируется для быстрого ответа на веб-запросы

9 голосов
/ 25 января 2012

Jinja2 теперь включен в GAE. Очевидно, вам нужно перенести приложение на Python 2.7.

В app.yaml добавить

libraries:
- name: jinja2
  version: "2.6"

Вот источник этой информации: http://blog.notdot.net/2011/11/Migrating-to-Python-2-7-part-2-Webapp-and-templates

1 голос
/ 21 июня 2012

Согласно документации Что нового в Python 2.7 , с Python 2.7 вы также можете загружать файлы .pyc.

Может загружать файлы .pyc, но не в сочетании с файлами .py. Однако вы можете загружать файлы .zip, содержащие файлы .py или .pyc (или их комбинации).

...