問題タブ [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 - Google App Engine webapp での jinja2 autoescape の問題
自動エスケープ機能をサポートするために、webapp アプリケーションで使用する jinja2 をインストールすることにしました。そこで、jinja2 を python 2.5 にインストールし、プロジェクト内にそのディレクトリを指すシンボリック リンクを作成しました。おおむね正常に動作しています。
例外として、実際に {% autoescape true %} タグを使用しようとすると、次のメッセージが表示されます。
ドキュメントにあるタグを使用しています:
私のハンドラファイル内で、関連するものをインポートしています:
エラーがスローされていないため、インポートは正常に機能しています。私は何か間違ったことをしていますか、それとも ext.py のように jinja2 自体に問題がありますか?
更新: 以下の sharth の提案を試してみましたが、同じ結果が得られました。彼の提案を使用して更新されたハンドラーを次に示します。
繰り返しますが、autoescape タグを使用しない限り、問題なく動作します。
templates - Django テンプレート タグを使用した Jinja2 テンプレート
新しいプロジェクトで Jinja2 を使用していますが、Django テンプレート タグに依存するdjango-socialregistrationアプリを使用したいと考えています。Jinja2 はテンプレート タグでうまく動作しないので、簡単な回避策があるかどうか疑問に思っています。
テンプレートタグ:
{% load facebook_tags %}
{% facebook_button %}
{% facebook_js %}
この前の質問は Mako の同じトピックに対応していますが、Jinja2 で動作するように調整するのに問題があります。以下は、適応への私の試みです(機能していません):
何かアドバイス?私はインライン化が初めてなので、上記が近いかどうかはわかりません。
html - Jinja2を使用してhtmlファイルにpng画像を埋め込む
Jinja2 を使用して、html レポートを単一の html ファイルとして作成しています。会社のロゴへのリンクではなく、html ファイル内に会社のロゴを含めたいと考えています。このようにして、レポートを読んでいる人がオフラインであってもロゴが表示されます。これは、Jinja2 を使用して自動的に実行できますか? そうでない場合、手動で html に png 画像を埋め込むにはどうすればよいですか?
python - PythonモジュールをJinjaテンプレートにインポートしますか?
PythonモジュールをJinjaテンプレートにインポートして、その関数を使用できるようにすることはできますか?
たとえば、日付と時刻をフォーマットするためのメソッドを含むformat.pyファイルがあります。Jinjaマクロで、次のようなことができますか?
format.pyはテンプレートではないため、上記のコードで次のエラーが発生します。
...しかし、これを達成する別の方法があるかどうか疑問に思いました。
python - Jinja2で日付をフォーマットするにはどうすればよいですか?
Jinja2を使用して、日付フィールドをフォーマットするにはどうすればよいですか?私はPythonでこれを簡単に実行できることを知っています:
しかし、Jinja2で日付をフォーマットするにはどうすればよいですか?
python - Python:Jinja2を使用してこれをDRYで実装するにはどうすればよいですか?
テンプレートには次のようなコードがたくさんあります。
上記のように、さらに多くのテーブルが作成されます。ご覧のとおり、重複したコードがたくさんあります。テーブルを作成するたびに多くのコードを繰り返さないように、これを行う方法はありますか? ありがとう。
アップデート
テーブルと呼ばれる新しいオブジェクトを作成し、結果とそれに対応する h2 タイトルを追加することを考えています。その後、テーブルと呼ばれるこれらのテーブル オブジェクトのリストを作成し、テンプレートに渡すことができます。その後、テンプレートはそれらを反復処理できます。
templates - Jinja変数のスコープは内部ブロックを超えて拡張できますか?
次の Jinja テンプレートがあります。
ループで条件が満たされた場合は、下に表示できるように truefor
に変更したいと思います。ただし、インナーのスコープはステートメントに限定されているように見えるため、目的が設定されることはありません。mybool
mybool is true!
mybool
if
mybool
「グローバル」を設定mybool
して、最後のif
ステートメントで使用できるようにするにはどうすればよいですか?
編集
いくつかの提案(正しくキャッシュされたページ ビューのみ)を見つけましたが、それらは機能していないようです。おそらく、Jinja2では廃止されています...
編集
以下に提供されるソリューション。上記の提案がなぜうまくいかないのか、私はまだ興味があります。それらが廃止されたことを誰かが確実に知っていますか?
python - django / jinja2テンプレートフィルターの「エスケープ」と「改行」を正しく適用するにはどうすればよいですか?
私は現在、以下のようにdjangoテンプレートフィルターを使用して変数をエスケープしようとしています。djangoのプライマリテンプレートエンジンの代わりにjinja2テンプレートエンジンを使用しています
改行を含む文字列の出力は次のとおりです。
理想的には
「改行」フィルターによって追加されるため、エスケープすることは想定されていません。元の文字列のhtmlタグはありません。
私はもう試した:
しかし、それはさらに悪いことになります。
テンプレートフィルターの適用で何か問題があったかどうか、および/または正しい方向に私を向けることができるかどうかを誰かが知っていますか?
ありがとう。
python - CherryPy が Jinja2 テンプレートの非 ASCII 文字を適切に処理しない
Python 2.7.1、Jinja 2.5.2、および CherryPy 3.1.2 を使用して Web サイトを実行しようとしています。私が使用している Jinja テンプレートは UTF-8 でエンコードされています。これらのテンプレートの一部の文字がクエスチョン マークやその他の意味不明なものに変わっていることに気付きました。Jinja を使用せずにテンプレートを直接レンダリングしようとすると、この問題に気付きません。すべてのハンドラーの出力を呼び出すことで修正できることを発見し.encode("utf-8")
ましたが、ソースが乱雑になるため、面倒です。なぜこれが起こるのか、それに対して何をすべきか誰かが知っていますか? この問題を示すために小さなスクリプトを作成しました。「char.txt」ファイルは、UTF-8 でエンコードされた「»」文字のみで構成される 2 バイトのファイルです。
python - リクエストごとにJinja2テンプレートの読み込みディレクトリを変更する方法はありますか?
FlaskでリクエストごとにJinja2ルートディレクトリを変更する方法はありますか?今私はします:
しかし、それはプロセスごとに1回だけ機能するようです(プロセスは最初に正しいディレクトリを選択し、その後、変更をいくつ行ってもそこにとどまります)...