#今回のゴール
Djangoフレームワークで、Hello,worldをブラウザに表示
###■ プロジェクトフォルダ(first)を編集していきます
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
に、自分のアプリケーションを登録します
↓
INSTALLED_APPS = [
'myapp.apps.Myappconfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
●ちなみに、'myapp.apps.Myappconfig', のmyappはパッケージ(フォルダ).(アプリケーション名)で、appsはモジュール(ファイル)で、Myappconfigは、そのモジュールの中にある関数です
from django.contrib import admin
from django.urls import path
↓
from django.contrib import admin
from django.urls import path, include
また、プロジェクト側でpath関数の追加
urlpatterns = [
path('admin/', admin.site.urls),
]
↓
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/',include('myapp.urls')),
]
・path('myapp/',
path関数の最初の引数(myapp)はパスを表す文字列を書きます。今回であれば、127.0.0.1:8000/myappの『myapp』部分が第一引数
・include('アプリケーション名,urls')
⇨この関数は、アプリケーション内のurls.pyファイルを参照するよ。 なやつ
・include('myapp.urls')),
第二引数には、”include関数”使います。include関数の()の中身には、アプリケーション名(myapp.urls)と書く。
・urls
urls.pyのurlパターンリストの中に、url(path)に対応した処理を定義していく
・一般的によく行われるのは、プロジェクトのurls.pyのファイル
このように、プロジェクトのurls.pyにはincludeを用いて定義していくと考えていきます
###■それではアプリケーション(myapp)側にも”urls.py”を作成していきます
まず、アプリケーションフォルダ内に”urls.py”ファイルを作成します
from django.urls import path
from .import views
app_name = 'myapp'
urlpatterns = {
path('', views.index, name='index'),
}
・myapp/urls.pyの処理はfirst/urls.pyの処理の後に実行されます
・アプリケーション側のurls.py(のpath)は、プロジェクトフォルダ(first)のurls.pyファイルに記載されている
path('myapp/',include('myapp.urls')),
を参照している
views.index
・指定した関数です
name='index'
・indexという名前をつけています
そしてブラウザに表示させるためには最後にviewsを設定します
def index(request):
return HttpResponse("Hello,world")
index(request)
・urls.pyにも記載したindexという関数を定義します
・引数はrequest ※これは固定です
HttpResponse
・urls.pyで呼び出すように指定した関数はというHttpResponseオブジェクトを返します
・HttpResponseの引数はHello,worldです
####ターミナルにて下記実行
python3.8 manage.py runserver
Hello,worldと表示されれば成功