概要
DjangoでHello Worldを表示する。
最小構成での実装を行います。
環境設定
- OS X
- python3
- Django
実装
1 . プロジェクトを作成する。
プロジェクト名をtutorial
とし、プロジェクトの雛形を作る。
django-admin startproject [プロジェクト名]
django-admin startproject tutorial
tutorial
|
├── manage.py
|
└── tutorial
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
2 . アプリを作成する。
Djangoでは、1つのプロジェクトに対し、複数のアプリを作成する。
アプリ名をhello
とし、アプリの雛形を作成する。
python manage.py startapp [アプリ名]
python manage.py startapp hello
tutorial
|
├── manage.py
|
├── tutorial
| ├── __init__.py
| ├── settings.py
| ├── urls.py
| └── wsgi.py
|
└── hello
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
3 . プロジェクトのルーティングを設定する。
URLのルーティングは、2段階で行う。
はじめに、プロジェクトから各アプリへのルーティングを設定する。
tutorial/urls.py
から hello/urls.py
にルーティングする。
- from django.conf.urls import url
+ from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
+ url(r'^hello/', include('hello.urls')),
]
4 . アプリのルーティングを設定する。
views.pyの各メソッドへのルーティングを設定する。
hello/urls.py
を作成し、hello/views
の index
メソッドを呼び出す。
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^world$', views.index),
]
5 . hello/views.py
の index
メソッドで、Hello Worldを返す。
from __future__ import unicode_literals
from django.db import models
+ from django.http import HttpResponse
+ def index(request):
+ return HttpResponse("Hello World")
6 . サーバを起動する。
python manage.py runserver
7 . 127.0.0.1:8000/hello/world
で確認する。
open 127.0.0.1:8000/hello/world
解説
① ユーザが、/hello/worldにリクエストする。
② APサーバは、プロジェクトの urls.py
である tutorial/urls.py
を確認する。
③ urlpatterns
より、ルーティング先を hello/urls.py
に決定 。
④ アプリの urls.py
である hello/urls.py
を確認する。
⑤ urlpatterns
より、ルーティング先を hello/views.py
の index
メソッド決定。
⑥ hello/views.py
の index
メソッドより、Hello World を返す。
まとめ
最小構成でHello Worldを表示しました。
シーケンス図より、処理順を説明しました。
間違い・指摘等があればコメントお願いします。