ぱらげです。
数ある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がないですが、こちらについては次回説明していきます。
コメント