メモ:django2
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン最新のリビジョン両方とも次のリビジョン | ||
メモ:django2 [2019/05/30 13:11] – [URLからパラメータを受け取る] Wiki Editor | メモ:django2 [2019/05/31 16:11] – [テンプレートの利用] Wiki Editor | ||
---|---|---|---|
行 58: | 行 58: | ||
テンプレートを保存するディレクトリを作成する。テンプレートは、標準ではsettings.pyのINSTALLED_APPSに列挙されたアプリケーションのベースディレクトリ内にある「templates」ディレクトリから検索されるた、templateディレクトリを作成する。さらに、その中にアプリケーション名に対応したサブディレクトリが必要になるので、ここでは「template/ | テンプレートを保存するディレクトリを作成する。テンプレートは、標準ではsettings.pyのINSTALLED_APPSに列挙されたアプリケーションのベースディレクトリ内にある「templates」ディレクトリから検索されるた、templateディレクトリを作成する。さらに、その中にアプリケーション名に対応したサブディレクトリが必要になるので、ここでは「template/ | ||
+ | report/ | ||
+ | def index(request): | ||
+ | r_list = ReportContents.objects.order_by(' | ||
+ | template = loader.get_template(' | ||
+ | context = { | ||
+ | ' | ||
+ | } | ||
+ | return HttpResponse(template.render(context, | ||
+ | View側はテンプレートを指定して、データが格納されたオブジェクトと共に出力に送る。 | ||
+ | テンプレートはtemplatesディレクトリからの相対パスを指定する。テンプレート内で利用するデータは、contextとして渡す。 | ||
+ | |||
+ | |||
+ | report/ | ||
+ | {% if r_list %} | ||
+ | <ul> | ||
+ | {% for r in r_list %} | ||
+ | < | ||
+ | {% endfor %} | ||
+ | </ul> | ||
+ | {% else %} | ||
+ | <p>No polls are available.</ | ||
+ | {% endif %} | ||
+ | |||
+ | テンプレート側ではcontextとして渡されたオブジェクトの中に格納されているデータを適切にテンプレートに埋め込んで表示する。 | ||
+ | |||
+ | |||
+ | ===== Viewの一般的な利用 ===== | ||
+ | ここまででViewの実践的な使い方の基本を理解したが、Viewからテンプレートで使う変数をcontextとして渡してページを生成する手順は非常によく使うパターンである。そのため、Djangoではショートカットという形で簡略化した呼び出し方法が用意されている。 | ||
メモ/django2.txt · 最終更新: 2019/05/31 18:01 by Wiki Editor