タグ

Pythonとtemplateに関するzepbagのブックマーク (2)

  • Jinja2 ドキュメント日本語訳

    Jinja2へようこそ¶ Jinja2はモダンでデザイナーも扱いやすいPython用テンプレート言語です。 Djangoテンプレートの後発として設計されました。動作が速く、広い用途に対応し、 サンドボックス的なテンプレート実行環境があるので安全です。 <title>{% block title %}{% endblock %}</title> <ul> {% for user in users %} <li><a href="{{ user.url }}">{{ user.username }}</a></li> {% endfor %} </ul> 特徴 サンドボックス的な実行 XSS予防に強力な自動HTMLエスケープシステム テンプレート継承 ジャストインタイムなPythonコードへの補助的なコンパイル 補助的な事前のテンプレートコンパイル デバッグの容易さ。例外の行番号はテンプレート

  • Jinja2のfilterとmacroをいじる - 西尾泰和のはてなダイアリー

    filterはsettingsで指定して、テンプレートのどこからでも使える。macroはテンプレートの中で直接定義するか、定義しているテンプレートをimportして使う。 filterで色々定義してあるもののうち、macroにする方がいいに違いないものを移動して行く。一番シンプルなフィルタ def q2img(q): return '<img src="/q/image/%s.png">' % q.short_key 使われ方。 {{ q|q2img|safe() }}これをマクロに変える。 {% macro to_img(q) -%} <img src="/q/image/{{ q.short_key }}.png">' {%- endmacro %}冒頭でimport {% import "main/macro_for_quiz.html" as macro4q %}で、こう使う。 {

    Jinja2のfilterとmacroをいじる - 西尾泰和のはてなダイアリー
  • 1