問題タブ [mako]

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.

0 投票する
1 に答える
1638 参照

python - mako テンプレート: HTML 文字列内で Python 関数を呼び出す

makoでこれを行うにはどうすればよいですか:

0 投票する
1 に答える
2903 参照

mako - Mako テンプレートを使用したリストの印刷 (Django Join タグ)

この記事では、 Django テンプレートは次のようになります

mylistオブジェクトであるリストを出力します。これはMakoで行うことができますか?ありがとう。

編集

0 投票する
1 に答える
5169 参照

python - Makoテンプレートに変数を渡します

Perlでは、Template Toolkitを使用して、これが私が行うことです

Perl

HTML

Makoテンプレートで、どうすればよいですか?それらの機能を確認してくださいrender。あまりヒントは得られません。

0 投票する
1 に答える
417 参照

python - auto_now=True および auto_now_add=True によるデータストア アイテムの並べ替え

auto_now=Trueと を使用して、データストア内のアイテムを年齢別に並べ替えようとしていますauto_now_add=True。なんとかdatetime問題を解決できましたが、年齢で正しく並べ替えることができません。提案をいただければ幸いです。(大文字の変数で申し訳ありません。最終的には修正します。) 私のモデルは次のとおりです。

クエリは次のとおりです。

そして、これは私がMakoテンプレートで使用するものです:

そして、これは悪いソートの出力の例です:

ありがとう!

0 投票する
6 に答える
449 参照

python - Djangoアプリで代替のテンプレートエンジンを使用することを思いとどまらせる必要がある理由はありますか?

私はいくつかの小さなDjangoプロジェクトを実行しましたが、そのたびにDjangoのテンプレート言語の明らかな制限に見舞われました。ランダムな例として、テンプレートのコンテキストで変数バーとdict fooがある場合、独自のフィルターを作成しない限りfoo[bar]にアクセスできないことを知ってショックを受けました。

これは、ページをデザインする人がプログラマーではない環境向けにDjangoが作成されたためだと読みました。という事は承知しています。

しかし、それは私にとって問題ではないとしましょう。Mako(任意のPython式を実行することもできる)のようなもっと強力なものに切り替えるのではなく、Djangoのテンプレート言語に固執する必要がある理由はありますか?

しばらく前に学校のプロジェクトでマコを使う機会があり、その力がとても気に入りました。たとえば、プロジェクトの一環として、各行とセルの作成がかなり複雑な大きなテーブルを作成する必要がありました。それでも、テンプレートを次のように見せることはできます。

多分これはプレゼンテーションと論理の分離の違反です、しかし男の子はそれが素晴らしくてきれいです。サブルーチン!抽象化!良いもの。

そしてフォローアップの質問:代替のテンプレート言語を使用することがDjangoコミュニティによって嫌われていない場合、誰かが提案するものはありますか?私が言ったように、私はマコが本当に好きですが、それは文字通り私がDjango以外で使用した唯一のものです。

0 投票する
4 に答える
16279 参照

python - Jinja2のインクルードファイルの先頭にJavaScriptを挿入します

Jinja2では、次のコマンドを実行することで、次のように動作させたいと思います。

基本的に目的は、マクロを使用してすべてのJavaScriptを<head>タグに統合することです。{% call js() %} /* some js */ {% endcall %}


x.html


y.html


期待される結果

jinja2を介してX.htmlを実行すると、結果は次のようになります。


実結果

実際の結果は心強いものではありません。いくつかのタイプの潜在的に照明エラーが発生します。例:

TypeError:マクロ'js'はキーワード引数'caller'を取りません

または、次のような別の基本マクロを追加しようとすると

次の例外が発生します

jinja2.exceptions.TemplateAssertionError:ブロック'head_js'が2回定義されました

blockタグよりもタグの優先順位に関する設計上の問題が発生しているように感じmacroます(つまり、マクロは期待どおりにブロックタグをカプセル化していないようです)。


私の質問は非常に単純だと思います。

  1. Jinja2は私が試みていることを実行できますか?もしそうなら、どのように?

  2. そうでない場合は、この種のパターンをサポートする別のPythonベースのテンプレートエンジン(たとえば、mako、genshiなど)があります。これは、GoogleAppEngineで問題なく動作します。

読んでいただきありがとうございます-私はあなたの入力に感謝します。

ブライアン


編集:

この問題を解決するための拡張機能を作成しようとしています。私は途中です-次のコードを使用しています:

これにより、テンプレートの最後にJavascriptを簡単に追加できます...例:

実行env.get_template('x.html').render()すると、いくつかの明るいコメントと期待される出力が得られます。

もちろん、これは期待どおりにスクリプトを頭に入れることと同じではありませんが、少なくとも1つの場所に簡単に統合できます。

{% include "y.html" %}ただし、 「y.html」にステートメントが含まれている{% js %}場合{% js_content %}、インクルードのステートメントの前にが呼び出されるため、ソリューションは完全ではありません{% js %}(つまり、開始x.html前に完全に解析されy.htmlます)。

また、静的javascriptを持つ定数ノードを挿入する必要がありますが、まだ挿入していませんtry/catch。これは、そこに入れたいことを示しています。これは問題ではありません。

私は進歩を遂げることができてうれしく思います、そして私はインプットに感謝しています。

関連する質問を開きました:インクルード後のJinja2コンパイル拡張機能


編集

解決

jbc完了すると、環境にはすべてのJavascriptを含む変数が含まれます。たとえば、を介してこれを挿入できstring.Templateます。


0 投票する
1 に答える
558 参照

python - Mako テンプレート エンコーディング URL

値が html の変数があります。

これを mako テンプレートに表示すると、出力は次のようになります。

どうしたの?

ありがとう。

0 投票する
1 に答える
1499 参照

python - Pylons / Mako テンプレートを使用してスタンドアロンの Python スクリプトから HTML メールを作成するには?

基本的に、スタンドアロンの python スクリプトに plyons と mako ファイルを「含める」方法を尋ねていますか?

私は Web サイトを運用していますが、Mako テンプルを使用して、cron スクリプトを介して開始する電子メールをフォーマットしたいと考えています。Web サイトでのアクションによって電子メールが生成される場合があるため、できるだけ多くのコードを再利用するために、この方法で行いたいと考えています。

cron スクリプトが特定の URL にアクセスし、pylons を使用して電子メールを生成するようにすることもできますが、そのハックには多くの明らかな問題があります。

0 投票する
1 に答える
257 参照

pylons - 初心者パイロン/マコテンプレートの質問

私はmako/pylonsのドキュメントを読んでいて、良い例を見つけるのに苦労しています/複数のアプリケーションを1つのページに統合することについての議論、たとえば、ブログアプリケーションとデータベースからランダムな引用を選択するアプリケーションがある場合素晴らしい引用。(例は、説明のためだけに、取るに足らないものです)

だから私は両方のアプリケーションを表示する単一のページを作りたいです、私はテンプレートを書く方法がわかりません、私はnext.body()を見ました、私はテンプレートのアプリケーションからコントローラーを呼び出す必要がありますか?

どうすればその場でこれを行うことができますか?
ページを説明するモデルを作成し、モデルの属性にオブジェクトとして呼び出したい各アプリケーションを含めることはできますか?私はここで唾を吐き、私が見渡すことができる例/チュートリアルへのポインタを望んでいます。

アドバイスありがとうございます。

0 投票する
2 に答える
2119 参照

python - MakoテンプレートのUnicodeEncodeError

私は次のファイルを持っています

ダミー.py


ダミー.html(UTF-8形式で保存)

http://www.makotemplates.org/docs/unicode.htmlからの指示を参照しました

ただし、それでもエラーが発生します

UnicodeDecodeError:'ascii'コーデックは位置0のバイト0xe6をデコードできません:序数が範囲内にありません(128)

私が見逃したものはありますか?