12

Google App Engine(Python)のテンプレートエンジンとしてJinja2を使い始めました。

私の質問はこれです:バイトコードキャッシングは本番環境で機能しますか?開発サーバーでは非常にうまく機能していますが、バイトコードのキャッシュはmarshalモジュールに依存していることをどこかで読みました。これはAppEngineではサポートされていません。別の質問に対するこの回答marshalは、メソッドの使用に変更することで可能な解決策を提供しpickleます。誰かがこれを試しましたか?

一般的に、App EngineでJinja2を使用するときに考慮すべきことは他にありますか?

どんな助けでも大歓迎です!

ありがとう。

4

3 に答える 3

12

Rodrigo Moraesは、GAEの下でJinja2用の特別なローダーをいくつか作成しました。こちらをご覧ください。これはバイトコードキャッシングではありませんが、すべてのテンプレートをPythonにプリコンパイルするため、Jinja2の解析オーバーヘッドを回避できます。

(このGAEページから)次の点に注意してください。

コンパイルされたアプリケーションコードは、Webリクエストへの迅速な応答のためにキャッシュされます

于 2010-03-03T06:25:49.993 に答える
9

Jinja2がGAEに含まれるようになりました。どうやらあなたはあなたのアプリをPython2.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

于 2012-01-25T13:11:27.937 に答える
1

Python 2.7の新機能に関するドキュメントによると、 Python 2.7では、.pycファイルをアップロードすることもできます。

.pycファイルをアップロードできますが、.pyファイルと組み合わせることはできません。ただし、.pyまたは.pycファイル(またはそれらの組み合わせ)を含む.zipファイルをアップロードできます。

于 2012-06-21T05:54:03.893 に答える