プロジェクトとアプリ
CoddyのDjangoジャーニー「Djangoの基礎」セクションの一部。レッスン 4/23。
menu アプリには menu/urls.py に新しい営業時間ページがありますが、/hours/ を表示すると「ページが見つかりません」と表示されます。プロジェクトがそのファイルを読み込んでいないためです。
Django のプロジェクトはサイト全体を指します。mysite/ には設定とメインの URLconf が含まれます。アプリはサイトの一部分で、独自のビューと URL を持ちます。この場合は menu/ です。コンピューターで python manage.py startapp menu を実行すると、アプリが作成されます。
プロジェクトは include() を使って、アプリにアドレスの一部を割り当てます。
from django.urls import include, path
urlpatterns = [
path("shop/", include("shop.urls")),
]Django はアドレスの先頭にある shop/ に一致すると、その残りを shop/urls.py に渡します。すると、そこにある "cart/" ルートは /shop/cart/ になります。プレフィックスには、空文字列を含む任意のテキストを指定できます。
チャレンジ
簡単プロジェクトがメニューアプリにURLを渡すようにします。
mysite/urls.pyで、pathの隣にincludeをインポートします。- 2つのルートを、
menu.urlsを含む1つのルートに置き換えます。空のプレフィックス""を指定すると、/と/about/はそのままの場所で使えます。
/hours/と/about/を開きます。どちらも引き続き動作します。
自分で試してみよう
from django.urls import path
from menu import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
]
Djangoの基礎のすべてのレッスン
自分で練習してみよう: Djangoプレイグラウンド