Вопрос

Я начал использовать Джинджа2 как мой движок для создания шаблонов в Google App Engine (на Python).

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

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

Мы были бы очень признательны за любую помощь!

Спасибо.

Это было полезно?

Решение

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

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

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

Другие советы

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

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

libraries:
- name: jinja2
  version: "2.6"

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top