たけし備忘録

自分の好奇心の赴くままに勉強メモ LL系が大好き Python bash Julia C

6.テンプレート

テンプレート

ボトルはSimpleTemplateエンジンと呼ばれる高速かつ強力な組み込みのテンプレートエンジンが付属しています。テンプレート()関数またはビュー()デコレータを使用することができますテンプレートをレンダリングします。あなたがしなければならないすべてのテンプレートとは、キーワード引数としてテンプレートに渡したい変数の名前を提供することです。ここでテンプレートをレンダリングする方法の簡単な例は次のとおりです。

@route('/hello')
@route('/hello/<name>')
def hello(name='World'):
    return template('hello_template', name=name)

これは、テンプレートファイルhello_template.tplをロードし、名前の変数を設定してそれをレンダリングします。ボトルは。/ views /フォルダまたはbottle.TEMPLATE_PATHリストで指定された任意のフォルダ内のテンプレートを探します。
ビュー()デコレータを使用する代わりに、テンプレート()を呼び出すのテンプレート変数を使用した辞書を返すことができます。

@route('/hello')
@route('/hello/<name>')
@view('hello_template')
def hello(name='World'):
    return dict(name=name)



構文

テンプレート構文は、Python言語の周りに非常に薄い層である。その主な目的は、ブロックの正しいインデントを確実にするためのものですので、インデントを気にせずに、テンプレートの書式を設定できます。 SimpleTemplateエンジン:完全な構文を記述するためのリンクをクリックしてください
ここでのテンプレートの例は、次のとおりです。

%if name == 'World':
Hello {{name}}!

This is a test.
%else:
Hello {{name.title()}}!

How are you?
%end



キャッシング

テンプレートは、コンパイル後にメモリにキャッシュされます。テンプレートファイルに加えられた変更は、テンプレートのキャッシュをクリアするまでに影響を与えるにはありません。これを行うにはbottle.TEMPLATES.clear()をコールします。キャッシングは、デバッグモードでは無効になっています。


次の記事へ進む → 7.プラグイン


関連リンク