チュートリアル一覧
No. | タイトル | |
---|---|---|
1 | Django初学者の自分へ(1) - プロジェクト・アプリ - | |
2 | Django初学者の自分へ(2) - MTVとは - | |
3 | Django初学者の自分へ(3) - こんにちわ世界! - | ☆ |
4 | Django初学者の自分へ(4) - メモアプリ作成 - |
前回のおさらい
前回は MTV の仕組みに触れました。
今回からはいよいよコードを書いていきます!
レッツジャンゴ -こんにちわ世界!-
今回はプログラミング学習で避けては通れない道、「こんにちわ世界!(Hello world!)」を Django でやってみます。今回の目標は「こんにちわ世界!」を通じて urls.py
-- views.py
の繋がりを理解することです。
View の作成
まず初めに app1 内の views.py
を開きます。
myapp/
manage.py
myapp/
__init__.py
asgi.py
settings.py
urls.py
wsgi.py
app1/
migrations/
__init__.py
__init__.py
admin.py
apps.py
models.py
tests.py
views.py <-- ここです!
views.py
内はデフォルトで以下のようになっていると思います。
from django.shortcuts import render
# Create your views here.
ここに「こんにちわ世界!」を表示させるために必要なものをインポートし、 View を定義します。
from django.shortcuts import render
from django.http import HttpResponse # 追加
# Create your views here.
def hello(request): # View の定義
return HttpResponse('こんにちわ世界!')
HttpResponse は読んで字のごとくでして、()内を画面に返します。
View の準備は以上です。続いて URL を設定します。
URL の設定
プロジェクトにはデフォルトで urls.py
がありますが、アプリにはありません。ですので自分で作っちゃいます。
myapp/
manage.py
myapp/
__init__.py
asgi.py
settings.py
urls.py
wsgi.py
app1/
migrations/
__init__.py
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
urls.py <-- 追加
views
をインポートし、URL と紐づける設定をします。
app1/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.hello)
]
このように URL を定義し、それに応じた処理の振り分けを行うことを ルーティング と言います。
続いて app1/urls.py
に myapp/urls.py
を繋げます。
myapp/urls.py
from django.contrib import admin
from django.urls import path, include # include を追加
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('app1.urls')), # app1/urls.py に接続
]
ここまでで「こんにちわ世界!」の準備は完了です!
それではサーバを起動して http://127.0.0.1:8000/
にアクセスしましょう!
みなさんいかかでしょうか、ちゃんと「こんにちわ世界!」してますでしょうか。
勘のいい方は気付かれているかと思いますが、今回は Model と Template は使用していません。というのも今回のように views.py
の中でレスポンス(「こんにちわ世界!」)が完結してしまうような場合、Model と Template は必ずしも必要ではないのです。今回は「こんにちわ世界!」の検証のために Model と Template は使用しませんでしたが、実際に Webアプリケーションを作成する際には Model - Template - View は必ずと言っていいほど必要になります。MTV について不安になったら、その都度前回の記事に立ち返ってみてください。
まとめ
- URL を定義し、リクエストに応じた処理を振り分けることを ルーティング と言う。
- アプリ内にはデフォルトで
urls.py
が用意されていないので、自分で作成し、それをプロジェクトのurls.py
に含ませる。
次回はこれまでの集大成として簡単なメモアプリを作成します!