1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Djangoチュートリアル備忘録①

Last updated at Posted at 2021-04-13

はじめに

この記事ははじめての 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に以下のように書き込みます.

polls/view.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に以下を書き込みます.

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()を追加します.

mysite/urls.py
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以降もどんどんまとめていこうと思います.

追記

Djangoチュートリアル備忘録②

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?