DjangoGirlsに挑戦~Django urlsってなに?~
Django urlsってなに?
今回デプロイは飛ばします。
実際に何か作る際に改めて調べる必要がありそう。
DjangoのURLはどのように動いているのか
プロジェクトフォルダ/urls.py
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^admin/', include(admin.site.urls)), ]
前回の記事で大部分は説明したので飛ばしていきます。
今回はアプリケーションごとにURLの設定をしていきます。
まずはDjangoが起動したときに最初に読み込まれるのは
プロジェクトフォルダのurls.pyに設定されているため
そちらにアプリケーションのurls.pyを読み込ませるように設定する。
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'', include('blog.urls')), //1 ]
1
これはURLのパス部分が/ の時にblogアプリケーションのurlsを読み込むように設定している
ローカル環境で接続する場合はhttp://127.0.0.1:8000/にリクエストを送ったときに見てくれる用になる
これでアプリケーション用のURLの設定ができるようになるが、
Djangoのアプリケーションを追加した際にデフォルトでurls.pyは作成してくれていないため、(これはなんでだろう?)
作ってあげる必要がある
project/ ├ manage.py ├ app/ │ ├ __init__.py │ ├ settings.py │ ├ urls.py │ └ wsgi.py └ blog/ ├ migrations ├ _init_.py ├ admin.py ├ models.py ├ tests.py ├ views.py └ urls.py //ここに新規で追加
blog/urls.py
from django.conf.urls import include, url from . import views //1 urlpatterns = [ url(r'^$', views.post_list), //2 ]
1.
同フォルダ内のviews.pyを読み込む
なぜ読み込んでいるのかは2で説明
2.
第二引数views.post_listの意味は
このURLにリクエストした時にviews.pyのpost_listを返すように設定している。
DjangoのURLのリクエストの順番として
プロジェクトのurls.py → アプリケーションのurls.py → 表示するようのview(MVCで言うController)に渡して
実際に画面の描写する処理を作成していく
これでとりあえずURLを作成していく流れができたので
次にビュー部分を実装していき、実際に画面に表示させていく。