はじめに
この記事ははじめての Django アプリ作成の備忘録です.
Djangoのインストール
pip経由でインストールできます.
$ python -m pip install Django
バージョンの確認は
$ python -m django --version
アプリの作成
python manage.py startapp polls
作成後のディレクトリは下記のようになります.
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
開発用サーバーを動かす
$ python manage.py runserver
上記のコマンドで開発用サーバーを動かすことができる.
アクセスするには http://localhost:8000/ を開く.
ビューの作成
ビューとは
DjangoはMTVモデルを採用しており,MTVとは
・Model(データベースに格納されているデータ)
・Template (テンプレートファイルによって定義されたそれぞれのページのデザイン)
・View(どのページを表示させるかを決定する処理)
の頭文字をとったものです.
つまりビューでは表示するページを決定しているのです.
実際に書いてみる
まずはpolls/views.pyに以下のように書き込みます.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
この作成したビューを呼び出すためにはURLを対応付けする必要があります.
そのためには,まずpolls下にurls.pyを作成します.
ディレクトリは以下のようになります.
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
urls.py ←NEW!!
views.py
その後polls/urls.pyに以下を書き込みます.
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
ここでのpath関数の引数はpath(route,view,kwargs,name)となり,それぞれ
route・・・polls以下のURL
view・・・呼び出すview
kwargs・・・キーワード引数を辞書としてviewに渡す
name・・・URLに付ける名前
を意味します.
次にルートのURLconfにpolls.urlsの記述を反映させます.
mysite/urls.pyにdjango.urls.includeのimportを追加し,urlpatternsのリストにinclude()を追加します.
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
このinclude()はほかのURLconfへの参照を行ってます.ここではpolls.urlsを参照しています.
実際にURLにアクセスしてみる
先ほどは http://localhost:8000 にアクセスしましたが,今回からはpollsにviewを作りルーティングしたため http://localhost:8000/polls にアクセスします.
viewに記述した文字列が出てきたら正しく実行されています.
おわりに
今回はDjangoチュートリアルのその1の備忘録を書かせていただきました.
その2以降もどんどんまとめていこうと思います.