プロジェクトとアプリ
CoddyのDjangoジャーニー「Djangoの基礎」セクションの一部。レッスン 4/23。
menu アプリには menu/urls.py に新しい営業時間ページがありますが、/hours/ は 404 を返します。プロジェクトがそのファイルを読み込んでいないためです。
Django のプロジェクトはサイト全体です。mysite/ には設定とメインの URLconf が含まれています。アプリは、ここでは menu/ のように、独自のビューと URL を持つサイトの一部分です。自分のコンピューターでは、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/ で応答します。プレフィックスは空でもよく、どのようなテキストでも指定できます。
チャレンジ
簡単mysite/urls.pyで、2つのルートを、アドレスをmenuアプリのurls.pyに渡す1つのルートに置き換えます。/と/about/のアドレスはそのままです。
実行を押します。プレビューで/hours/が開き、「Open every day from 8:00 to 18:00.」と表示されます。
自分で試してみよう
from django.urls import path
from menu import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
]
Djangoの基礎のすべてのレッスン
自分で練習してみよう: Djangoプレイグラウンド