電子工作作業報告書管理アプリその52
view.pyの中身を書き換えてマイグレーションファイルの生成をして
検証すると
urls.pyがおかしいとエラーが出たので、
改めてurls.pyのおさらいをする
viewがクラスベースビューで書いているので
#"views.pyの中身 class IndexView(TemplateView): #クラスベースビュー
最近のDjangoではクラスベースビューでの記述が多い
クラスベースビューの記述例
#"urls.pyの中身 urlpatterns = [ path('index/', views.IndexView.as_view(), name = 'index_view' ]
アプリのurls.pyを参照する
プロジェクトのurls.pyに下記のようなコードが書いてある時は
#「urls.pyの中身 urlpatterns = [ path('index/', include('index.urls')), ]
「index」というアプリ(ディレクトリ)のurls.pyを参照しなさいという指示に
なり
indexディレクトリ内のurls.pyは下記のような記述になる
#"index/urls.pyの中身 urlpatterns = [ path('', views.IndexView, name = 'index_view'), ]
という風になるが少し分かりずらい
例えば、「https://ドメイン名/index/testpage/」にアクセスがあったとする
するとまずプロジェクトのurls.pyの中からマッチするパスを探す
「index/」がマッチするので、「indexアプリのurls.py」を
参照しようと動く
下記がその役割をする
include('index.urls')
参照する際にURLの「index/」以降の部分「testpage/」を
検索ワードとして持っていく。
次にindexアプリのurls.pyの中から「testpage/」とマッチするものを探す。
例えば下記のようなurls.pyだった場合
#index/urls.pyの中身 urlpatterns = [ path(' ', views.IndexView, name ='index_view'), path('testpage/ ', views.TestPageView, name='test_page'), ]
2つ目のpathがヒットするので「TestPageView」ビューが開くわけ。
次回は今回調べたことをurls.pyに組み込む