電子工作作業報告書管理アプリその51
マイグレーションファイルの生成を実行したら
エラーが出た
ModuleNotFoundError:No module named 'django.shortscuts'
というのが出た
django.shortscutsというモジュールがインストールされてないと
警告された
この手のエラーはネットには見当たらないなぁ・・
from django.shortcuts import render
とプログラムの先頭でdjango.shortcutsからインポートするのが定石らしい
このrenderメソッドはデータベースのデータなどを反映させたHTMLページを作成し
HTTPレスポンスとしてブラウザに返すみたい
テンプレートファイルにdata1.thmlを表示したいので
from django.views.generic import TemplateView class Index(TemplateView): template_name = "data1.html"
発展1:テンプレートファイルに変数を渡す
viewクラスからテンプレートファイルに変数(message)を渡し、
画面表示する
from django.views.generic import TemplateView class Index(TemplateView): #テンプレートファイルに連携 template_name = "data1.html" #変数を渡す def get_context_data(self. **kwargs): context = super().get_context_data(**kwargs) context["message"] = "フォームに値を入力して下さい" retrun context
get_context_data関数をオーバーライド*する事で
:「親クラスと同じ名前のメソッドを子クラスで
新たに定義する事」
テンプレートに渡す変数が指定できる
コードの書き方は、引数に可変長引数(**kwargs)を渡し、
続いて最初の行にスーパークラスを実行して
親クラスのコンテキストを取得した後に後続の処理を記載する
テンプレートに渡す変数は、context["変数名"]=値
のように記述する
次回は検証