問題タブ [jinja2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Mako テンプレートをどのようにデバッグしますか?
これまでのところ、Mako テンプレートが正しくコーディングされていない場合、使用可能なトレースバックを生成することは不可能であることがわかりました。
コードのすべての行を繰り返す以外に、テンプレートをデバッグする方法はありますか?
django - Django で Jinja2 テンプレートを使用する際の欠点や落とし穴はありますか?
Jinja2 のドキュメントを読んだ後、将来の Django プロジェクトで採用することに興味があります。しかし、Django で Jinja2 テンプレートを使用するときに、誰かが何らかの欠点や落とし穴に遭遇したかどうか疑問に思っていますか? もしそうなら、どのようにそれらを回避しましたか?
Jinja2 の最高の部分と最悪の部分の断面図を取得するためだけに、肯定的な経験について聞いてもかまいません。
python - テンプレートの後半からの値を含むタグを Jinja で作成するにはどうすればよいですか?
私は Jinja2 を使用しており、一緒に機能するいくつかのタグを作成しようとしています。たとえば、次のようなテンプレートがある場合:
私は次のようになります:
つまり、ページの先頭にある my_summary() には、ページの後半で提供される情報が含まれます。include
andimport
ステートメントで発生する式も考慮に入れるのに十分スマートである必要があります。
これを行う最善の方法は何ですか?
python - Werkzeug と Jinja2 を使用したコンテキスト プロセッサ
私のアプリケーションは App Engine で実行されており、WerkzeugとJinja2を使用して実装されています。Django 独自のコンテキスト プロセッサと機能的に同等のもの、つまり、リクエストを受け取り、テンプレート コンテキストに何かを追加する callable が必要です。テンプレート コンテキストに何かを追加する「コンテキスト プロセッサ」を既に持っていますが、このリクエストパーツを機能させるにはどうすればよいですか? 後でコンテキストを更新するために使用される辞書を返すだけの callable として、コンテキスト プロセッサを実装しました。
たとえば、 に含まれているものを追加したいと思いrequest.environ
ます。
python - Jinja2環境作成の最適化
私のアプリケーションはGoogleAppEngineで実行されており、CPU使用率が高いため、ほとんどのリクエストに常に黄色のフラグが表示されます。jinja2.Environment
プロファイラーを使用して、インスタンスを作成するルーチンまで問題を追跡しました。
モジュールレベルでインスタンスを作成しています:
Google AppEngineの操作モード(CGI)により、このコードはすべてのリクエストで実行できます(モジュールのインポートキャッシュは、モジュールを数分ではなく数秒間キャッシュするようです)。
環境インスタンスをmemcacheに保存することを考えていましたが、選択できないようです。FileSystemLoader
インスタンスは選択可能でキャッシュできるようですが、このアプローチによるCPU使用率の大幅な改善は見られませんでした。
jinja2.Environment
インスタンス作成のオーバーヘッドを減らす方法を誰かが提案できますか?
編集:以下はプロファイラー出力の(関連する)部分です。
1回の呼び出しですが、私が見る限り(これは、すべてのGAEベースのアプリで一貫しています)、リクエスト処理サイクル全体で最もコストがかかります。
python - Jinja2 のすべての単体テストを実行するにはどうすればよいですか?
何かを変更するたびに、Jinja2 の単体テストを実行して、何かを壊していないことを確認したいと考えています。
単体テストが満載のパッケージがあります。基本的には、「test_xxxxxx.py」という名前の Python ファイルでいっぱいのフォルダーです。
これらすべてのテストを 1 つのコマンドで実行するにはどうすればよいですか?
python - Jinja2の同じ名前の複数のブロック
Jinja2には、次のような基本テンプレートがあります。
次に、Jinja2は次のメッセージで失敗します。
TITLEタグとH1タグの2つの場所に同じタイトルを付けることは、私がやろうとしていることを明確にする必要がありますが、タイトルの一部は実際には他の派生テンプレートによって提供されます。
通常、これをどのように達成しますか?
django - Jinja2のビュー(またはテンプレート)で文字列を「安全」としてマークするにはどうすればよいですか?
通常、Jinja2で文字列出力を安全としてマークしたい場合は、次のようにします。
ただし、output_stringが常に安全である場合はどうなりますか?安全なフィルターを使って毎回繰り返したくありません。
メールで出力するためにURLを準備する「emailize」と呼ばれるカスタムフィルターがあります。アンパサンドは常に逃げるように見えます。カスタムフィルターに出力を安全としてマークする方法はありますか?
python - Python の最速のテンプレート システムは何ですか?
Jinja2 と Mako はどちらも明らかにかなり高速です。
これらは (あまり目立たないが、おそらく私がやっていることには十分である) string.Template と比較してどうですか?
python - Jinja2 If ステートメント
以下のコードは、jinja2 の学習に使用しているサンプル フォームです。書かれているとおり、{% endif %} タグを認識しないというエラーを返します。なぜこれが起こるのですか?