python-ジャンゴ-03
1 、Djangoのテンプレート(テンプレート)
1 、どのようなテンプレートがされた
ページでは、ユーザーへの応答ビューかもしれ
目的複雑な表示上の問題解決することである
2を、テンプレートセット
1を、BACKEND:テンプレートの検索エンジンを指定し、変更しないでください
2をDIRS、 :ディレクトリに保存されたテンプレートを指定
DIRS = [ 「index.temp 」、「music.tempは」]
DIRSが空の場合は、すべてのテンプレートディレクトリ管理として自動的にそれぞれのアプリケーションのテンプレートフォルダをDjangoの
勧告:
1 、DIRSは空のまま
2 テンプレートフォルダの作成、各アプリケーションで、
3をAPP_DIRS、
真:最初のDIRSからテンプレートのフォルダを指定し、指定したテンプレートが見つからない場合は、再度検索テンプレートディレクトリ
3、テンプレートロード
1を、テンプレートがローダを使用して取得、のHttpResponseことによって応答
から django.templateのインポートローダ
DEF :XXX(要求)
T = loader.get_template(' show.html ' )
HTML = t.render({})
リターンHttpResponse(HTML)
運動:
使用ローダーは次のように完了する
音楽アプリケーション、訪問で
はlocalhostを: 8000 /音楽/ music_info
テンプレートでの効果を示す:
歌: <<小さなアップル>>
歌詞:箸兄弟
コンサート:箸兄弟
2ロードを直接レンダリング使用して、
返す(要求、レンダリング' テンプレート名' 、{})
。4 、URL()nameパラメータを
urlpatterns = [
URL(REGEX、ビュー、kwargsから =なし、名前= なし)
]
:名前現在のURLエイリアスを定義するテンプレートのエイリアスが対応するURLを検索することができ、
URL(REGEX、ビュー、名前 =なし、名前= 「エイリアス」)
接続Djangoのテンプレートを達成するために名前を使用
{%URL 「name値を」%}
演習:
1、localhostを通過:8000 /ニュース/ ファースト
運命first.html
result.htmlに接続first.htmlハイパーリンクを増やす。ハイパーリンクは、二つの追加のパラメータは、それぞれ、1桁以上の数字であり、result.htmlに、印刷結果は、2つの番号を追加出力
5 、テンプレートの構文
1は、変数
の影響:テンプレート(HTML)へのデータの後端が通過し、テンプレート内の変数の実際の値に応じて表示されますがされている
変数のデータ型としてジャンゴテンプレートに渡すことができ
、数値、文字文字列、リスト、タプル、辞書、関数、オブジェクト、
テンプレートに変数を渡す方法
1 、レンダリング
DIC = {
「変数1 」:「値1 」、
「変数2 」:「値2 」、
}
戻りレンダリング(要求、' xx.html ' 、DIC)
2 、ローダ
DIC = {
' 変数1 ':' 値1 ' 、
' 変数2 ':' 値2 ' 、
}
T = loader.get_template(' xx.html ' )
HTML = t.render(DIC)
のリターンはHttpResponse(HTML)
テンプレートでは、変数の値を取得します:
変数名} {} {
2 、ラベル
1 、ラベルは何である
テンプレートにいくつかのサーバー側のネストされた論理演算を可能にします。
2 、構文
{%...%}
3 、一般的に使用されるラベル
1、%{ IF条件{%...%}%のENDIFが}
受け入れ:ていない、及び、又は
その:及び及び又は両方ではない
偽として、以下の処理:
空の[]
ヌル()
空{}
番号:0
、空の文字列
特殊目的:なし
2、%{ IF条件... {%}%他 %% ENDIF} ... {%}
。3 、
{%ifequal値の値1} ... {%% 2%endifequal }
{%ifequal値1つの値2%} {%。他の%} {%endifequal%。}
4。 、
{%のための変数でリスト|タプル|辞書%}
{%ENDFOR%}
ビルトイン変数(無料声明)許可:
魔法のforloop
1 サイクルのレコード番号:, forloop.counter
2 同上、しかしゼロ:forloop.counter0
。3 、forloop.revcounter:横断しない記録の数を
4 前掲、0から:、forloop.revcounter0
5。forloop.first、:ブール・フラグは最初の項目である
6。、forloop.last:ブーリアンフラグが最後の項目である
3 、フィルタ
1 に作用する、
可変表示の前に、又は変更がデータをフィルタリングすることを可能にする
2 シンタックスを、フィルタ
{VAR { | フィルタ}}
3 、従来のフィルタ
1、{{VAR |。アッパー}}
データ大文字VAR
2、{{VAR |}}下位
データ小文字VAR
。3、{{VAR | 追加:NUM}}
4、{{VAR | floatformat:N}}
小数のnビットに丸めVARなる
4 、静的ファイル
1 、静的ファイルもので
、JS、テンプレート使用CSSの画像、およびいくつかの静的リソースファイルファイルである
2 、処理Djangoの静的ファイルは、
アクセス・パスとsettings.pyで静的ファイルに保存されているパスを設定する必要があります
。1 、STATIC_URL
指定されたアクセスパスの静的リソースの
STATIC_URL = 「/静的/ 」
2 、STATICFILES_DIRS
すべての静的ファイルが置かれている開発段階のルートディレクトリに指定
STATICFILES_DIRS、=(BASE_DIRを' 静的')
3は、静的リソースアクセス
1、<IMG SRC = " /static/images/huiyuan.jpg " >
2、静的%% {使用}スタティックアクセスリソース
1を、最上部テンプレート増加
{%負荷静的%}
2を用いて、静的リソースファイル
<IMG SRC = " {%静的な'イメージ/ huiyuan.jpg'}%" >
HTTP: // localhostを:8000 /ニュース/ファースト/ second.html
<%{李IF forloop.first%} {% %} ENDIF>
{} {} forloop.counter:{} {H}
</ LI>ための時間
{%で uhobbyの%}
<LI {%なら forloop.first%}スタイル= ' 色:赤。' {%のENDIFの%}>
{{forloop.counter}}:{{H}}
</ LI>
{%ENDFOR%}