業務改善 web開発 programming 旅行系記事多め。

1_Django基本構造〜MTVはMVCと比べて何か違うの?〜

djangodjango

前回の記事↓

ぱらげです。

数あるwebフレームワークの中でDjangoの持つ特徴といえば、

・外部ライブラリが豊富
・AIや機械学習に優れている
・LaravelやRailsに比べある程度コードを自分で書く必要がある


などがあります。

さらに、DjangoはMTVモデルという考え方が採用されています。laravelやRailsのMVCモデルとの違いは下のようになります。

MTV(Django)説明MVC(Ruby on Rails)
ModelデータとロジックModel
Templateデータの見せ方(How)View
Viewどの様なデータを見せるか(What)View
URLディスパッチャリクエスト制御(URLの振り分け等)Controller

Viewが両者で違った意味を持つので少しややこしいですね。どちらかというとDjangoの場合、ViewはMVCモデルでいうControllerの役割をしています。
処理の流れとしてはこのようになります。

手元のファイルがMTVのどこの役割をしているか見ていきましょう。
project全体を管理する「config」フォルダ、アプリケーションの一つである「todo」フォルダを例にしています。

├── todo
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py: ★ここがモデルです。ここにデータベースの定義を書きます
│   ├── tests.py
│   └── views.py: ★ここがViewです。ここに処理を書きます。
├── manage.py
└── config
    ├── __init__.py
    ├── __pycache__
    │   ├── __init__.cpython-39.pyc
    │   └── settings.cpython-39.pyc
    ├── settings.py ★ここにデータベース接続情報を書きます
    ├── urls.py ★ここがUrlディスパッチャです。
    └── wsgi.py

ここにはまだTemplateがないですが、こちらについては次回説明していきます。

コメント

タイトルとURLをコピーしました