タイトル: クラスベースビューでテンプレートに値を渡す方法
SEOタイトル: クラスベースビューでテンプレートに値を渡す方法
1. ビューでcontextを定義する
まず、ビューでテンプレートに渡す変数を定義します。クラスベースビューでは、get_context_dataメソッドをオーバーライドして、contextを定義します。
from django.views.generic import TemplateView
class SampleView(TemplateView): def get_context_data(self, **kwargs): |
上記の例では、titleとdescriptionという変数を定義しています。
2. テンプレートでcontextを参照する
次に、テンプレートで定義したcontextを参照します。テンプレートでは、{{ }}で変数を囲んで参照します。
<!DOCTYPE html> <html> <head> <title>{{ title }}</title> </head> <body> <p>{{ description }}</p> </body> </html> |
上記の例では、titleとdescriptionという変数を参照して、タイトルと本文を表示しています。
3. ビューでテンプレートに渡す値を増やす
ビューでテンプレートに渡す値を増やす場合は、get_context_dataメソッドで定義します。
from django.views.generic import TemplateView
class SampleView(TemplateView): def get_context_data(self, **kwargs): |
上記の例では、itemsという変数を定義して、リストを渡しています。
4. テンプレートで渡されたリストを表示する
テンプレートで渡されたリストを表示する場合は、forループを使用して順次表示します。
<!DOCTYPE html> <html> <head> <title>{{ title }}</title> </head> <body> <p>{{ description }}</p> <ul> {% for item in items %} <li>{{ item }}</li> {% endfor %} </ul> </body> </html> |
以上がクラスベースビューからテンプレートに値を渡す方法になります。テンプレートの中身を適宜編集して、データを表示させることができます。