読書ノート:Djangoテンプレート開発(一)template概要

1768 ワード

テンプレートの設計の2つのポイント、第1の表示と論理は分離して、pythonをhtmlの中に埋め込まないでください、これはとても悪い設計で、djangoはtemplateとviewの階層でこのような設計を完成します.第二に、多重化は抽出され、これも一般的にプログラミングされた設計ロジックであり、djangoはparent templateを許可し、このように実際にテンプレートの重複設計の文法サポートを提供している.
djangoテンプレートは機能的にもいくつかの制限があり、pythonコードを走ることができず、変数を修正することができません.これもdjangoが表示と論理を分離する設計原則を決定するので、私たちが使用するときはできるだけこのような需要を避けます.
django応答要求のプロセス:
1.ブラウザからurlリクエストが発行されました
2.patterns正規表現を用いてurlを解析する
3.解析したurlは、対因のviewを呼び出し、viewにテンプレートをロードし、contextを構築し、テンプレート表示に送る.
django template構文の概要.
1.context、辞書でカプセル化されたテンプレートで使用される一連のパラメータのリスト.
def detail(request):
       c = Context({'fav_color': 'blue'})
       t = Template("My favorite color is {{ fav_color }}.")
       return HttpResponse(t.render(c))

2.変数,My favorite color is{{color}.   
3.filterが変数出力を正規化する関数のセットMy favorite color is{{color|upper}.   
4.tags,templateの構文ラベル.
{% ifequal color 'blue' %}
  Wow, you like blue!
{% else %}
  Why don't you like blue?
{% endifequal %}

5. comments 
コメント行:{#Remember to move this down the page later#}
{% comment %}
My comment
is more than
one line long
{% endcomment %}