なぜアプリが必要か?
様々なページが増えるとテンプレートやデータが増える。
アプリごとに管理するほうがわかりやすい。開発がしやすい。
プロジェクトは一つ。アプリは複数作られる。
まず、プロジェクトのurls.pyがリクエストを受けて、その後にアプリごとの
urls.pyに振り分けられる。
アプリの記述
startappコマンド
manage.py@djangoProject > startapp helloworldapp
プロジェクトのurls.pyからアプリのurls.pyにつなげるためにincludeを使用する。
djangoProject/urls.py
from django.contrib import admin
from django.urls import path, include
from .views import helloworldfunction, HelloWorldView
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', include('helloworldapp.urls'))
]
アプリのurls.pyでは、hello/を抜いていることに注意。
helloworldapp/urls.py
from django.urls import path
from .views import hellofunction
urlpatterns = [
path('world/', hellofunction),
]
helloworldapp/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def hellofunction(response):
return HttpResponse('hello')