Djangoでhelloアプリケーションを作る

アプリケーションを作る

プロジェクト名をdjango_appとした前提で進める。プロジェクトルートがdjango_appというDIR名。

プロジェクトルートにてpython manage.py startapp アプリケーション名でアプリケーションを作る。

$ cd ~/MyProject/django_app/
$ python manage.py startapp hello
$ ls 
db.sqlite3  django_app/  hello/  manage.py*

helloアプリケーションのDIRが作られている。

$ tree -L 2 hello/
hello/
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

migrations : マイグレーションフォルダ(データベース関係の機能ファイル)

__init__.py : アプリケーションの初期化処理

admin.py : 管理者ツール

apps.py : アプリケーション本体

models.py : モデルに関する処理

views.py : 画面処理

tests.py : プログラムテスト

views.pyを書き換える

views.pyのデフォルトの状態

hello/views.py

from django.shortcuts import render

# Create your views here.

これを次のように書き換える

hello/views.py

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
  return HttpResponse("Hello Django!!")

urls.pyを編集する

プロジェクトルート以下のプロジェクト名と同じDIRの中に、URLを管理するurls.pyというファイルがある。次にこれを編集する。

urls.pyに、hello/views.pyに書いたindex関数の処理を特定のURLと結びつける処理を書いておくことで、アプリケーションが実行される。この特定のURLと特定の処理を紐付ける記述をurlpatternsという。

urls.pyのデフォルト状態は次のようになっている。

django_app/urls.py

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

次のように編集する。

django_app/urls.py

from django.contrib import admin
from django.urls import path
import hello.views as hello

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', hello.index),
]

hello/views.pyを表すhello.viewshelloという名前でimportし、urlpatternspath関数に追加する。

path関数の構文

path("紐付けるURL","呼び出す処理")

コンソールからpython manage.py runserverとして、http://localhost:8000/hello/にアクセスすればindex関数に渡された"Hello Django!!"の文字列が表示される。

開発用サーバはずっと起ち上げておいてもOK。プログラムを変更すれば即反映される。