、get_template機能
django.template.loaderにインポートget_templateから
django.httpインポートからのHttpResponse
インポート日時
デフtemp_test(リクエスト):
今= datetime.datetime.now()
トン= get_template( 'temp_test.html')
HTML = t.render({ 'CURRENT_DATE':今})
HttpResponseを返す(HTML)
テンプレートの出力:
それは今は{{}} CURRENT_DATE
ファイル・システム・モジュール内の位置を識別するためのパラメータとして、テンプレート名にget_template()関数、ファイルを開き、コンパイル済みテンプレートオブジェクトを返します
二、render_to_response()は、テンプレートをレンダリング
django.shortcuts輸入render_to_responseから
インポート日時
デフcurrent_datetime(リクエスト):
今= datetime.datetime.now()
戻りrender_to_response( 'current_datetime.html' { 'CURRENT_DATE':今})
render_to_response()最初の引数は、使用するテンプレートの名前でなければなりません。2番目のパラメータセットを与えた場合、それが使用されるテンプレートの作成コンテキスト辞書のための時間でなければなりません。なし第二引数の場合、空の辞書とのrender_to_response()。
三、地元の人々()のヒント
django.shortcuts輸入render_to_responseから
インポート日時
デフtemp_test(リクエスト):
今= datetime.datetime.now()
リターンrender_to_response( 'temp_test.html'、地元の人々())
すべての変数を含む地元の()についての値は、時点によって定義された機能を実行します
このとき、対応するhtml形式の出力は次のようになります。
それは今は{{}}今
四、get_template使用のサブディレクトリ()内
django.shortcuts輸入render_to_responseから
インポート日時鄭州婦人科病院http://www.sptdfk.com/
デフtemp_test(リクエスト):
今= datetime.datetime.now()
リターンrender_to_response( 'メンバー/ temp_test.html'、地元の人々())
ただ、get_template()を呼び出すときに前に、テンプレート名にサブディレクトリ名とスラッシュを追加
render_to_response()は単に)(get_templateするカプセル化しているので、あなたはrender_to_response最初のパラメータは、()と同じプロセスを実行することができます
第五に、テンプレートは、テンプレートと継承が含まれています
図1に示すように、テンプレートに含まれる:(含む);現在のテンプレートディレクトリのパスを受ける公共ヘッド、公共の尾部、
{% 'は、共通/ nav.html' %を含みます}
それは今は{{}}今
2、テンプレートの継承:ブロックの使用状況
コンセプト:テンプレートの継承は、まず基本的なフレームワークのテンプレートを構築することである、それはブロックの共通部分の部位を含み、オーバーロードされたその子テンプレートで定義されています
マイ役立つタイムスタンプサイト
{%ブロックコンテンツ%} {%の末端ブロック%}
{%ブロックフッタ%}
私のサイトを訪問してくれてありがとう。
{%の末端ブロック%}
すべての{%ブロック%}タグは、テンプレートエンジンに伝え、テンプレートは、子の部分を無効にすることができます。タグ行う各{%ブロック%}はキルトテンプレートをカバーすることが可能となるテンプレートエンジン、テンプレート内のコンテンツのこの部分を教えています。
サブテンプレートに変更することができます:
{% "はbase.html" %を拡張します}
{%ブロックタイトル%}現在時刻{%の末端ブロック%}
{%ブロック含量%}
今{{CURRENT_DATE}}です。
{%の末端ブロック%}
コアファンクションポイント:
1テンプレートで{%は%を拡張}場合、テンプレートは、最初のテンプレートが標識されていることを確認しなければなりません。それ以外の場合は、テンプレートの継承は動作しません。
図2に示すように、一般的に、基礎テンプレート{%ブロック%}は良好タグ。サブテンプレートは、テンプレートのすべての親のブロックを定義する必要がないので、妥当なデフォルト値のコードのブロックを充填してもよいし、次いで、コードテンプレートのみ所望のサブブロック(再)が定義され、覚え
3.あなたは{{block.super}}このタグを使用して、親テンプレートからブロックの内容にアクセスする必要がある場合、それは親テンプレートのマジック変数の内容を表示します。あなたが完全に変数をオーバーライドするのではなく、親ブロックにコンテンツを追加したい場合、それは非常に便利です。
図4は、同じテンプレートに同じ名前の{%ブロック%}の定義を可能にしました。
図5は、テンプレート名を使用して)(同じget_templateに渡さローディング方式の{%は%を拡張します}。つまり、テンプレート名はTEMPLATE_DIRSの後にセットに追加されます。
図6は、ほとんどの場合、パラメータ{%は%を拡張}文字列でなければならないが、実行時まで、親テンプレートの名前が、これは可変パラメータとすることができる場合にのみ決定することができます