Django

Djangoでアプリケーションの作成 MVTとは?

アプリケーションの作成

アプリケーションを作成する場合は以下のコマンドで実行します。

python manage.py startapp polls #pollsは任意のアプリケーション名

ここのコマンドで新たにディレクトリが作成されるのでここにメインソースを格納していくことになります。

Djangoのディレクトリの構成として機能(アプリケーション)ごとにディレクトリを作成していくことになります。

viewの作成

DjangoはCMVモデルの考え方を採用していますが一般的なMVCと対応する内容が多少異なりますので注意が必要です

まず、DjangoではMVCでは無くMVTとよく呼ばれます。

MVTとは

  1. MはModelの略でデータ操作を実施するプログラム
  2. VはViewの略でビジネスモデルを記載するプログラムです。
  3. Tは Templateの略でHTML等の画面部分を構成するプログラムです。(他のMVCで言うところのV(View)に該当します。)

ここで注意が必要なのが他のフレームワーク等でのMVCで言うところのC(コントローラ)はDjangoではT(Template),CはV(View)に該当します

#polls/views.py

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

 

次にpollsフォルダにurls.pyを作成します。

#polls/urls.py

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

 

次に先ほど、ルート(mysite)のurs.pyにinclideモジュールを追加して、先ほど作成したposlls/url.pyを読み込ませる設定をします。

#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),
]

ルートのurls.pyではアプリケーションへ到達させるためのurl設定を記載し、

アプリケーション内のurls.pyにはそのアプリケーション内のurl設定を記載します。

実際にサーバを起動して動作を確認してみましょう

python manage.py runserver 8080

 

サーバを起動させ、http://localhost:8080/polls/にアクセスすると “Hello, world. You’re at the polls index.” と出力されるのが確認できると思います。

DjangoのURLのマッチの探し方は以下の通りです。

mysiteのurl.pyではpath(‘polls/’, include(‘polls.urls’))で<ルートディレクトリ>/pollsで

polls/urls.pyのURLを参照して<ルートディレクトリ>/pollsから

先のURLをpolls/urls.pyから参照します。

Djangoでmysqlを使う。ついでにutf8mb4もデータベース設定 初期の状態ではsqlite Djangoでデータベース設定をする際はmysite/settings.pyで設定...