Djangoの基本構造まとめ
このブログではアフィリエイト・アドセンス広告を利用しています
当ブログでは、アドセンス・アフィリエイト広告を掲載しています。
消費者庁が発表しているルールに沿って記事を作成していますが、問題のある表現を見つけた際にはご連絡ください。
Djangoの基礎についてまとめたメモです。
Djangoの基本構造はMTVモデル
Djangoのアプリケーションは、M(モデル)・T(テンプレート)・V(ビュー)の3つから構成されている。
ビュー
処理の中心となるファイル。views.py
何をどう表示するか決める関数やクラスを作成する場所。
ただし、views.pyに書いただけでは表示されないので、urls.pyファイルで関数とURLの紐付けが必要になる。
モデル
データベースとやり取りするファイル。models.py
モデルクラス(データベース)を設定する場所。
ビューによって指示されたデータを取得して返す。
モデルファイル内に新しいモデルクラスを作成したら、データベースに新しくテーブルを作成する必要があるため、マイグレーションファイル生成してからマイグレーション実行という処理が必要になる。マイグレーションはモデル修正の度に必要。
$ python manage.py makemigrations
$ python manage.py migrate
テンプレート
HTML・CSSファイル。
ビューによって指示されたテンプレートファイルを表示する。
{{ 変数 }}で変数が使えたり、{% 処理 %}をpythonで記述することができたり、{% url %}を使って、urls.pyに設定されたパスを呼び出すことも可能。
ビューが中心的存在
処理の中で中心となるのは、V(ビュー)で、T(テンプレート)とM(モデル)は必ず必要ではない。
python manage.py startapp taskmanage
プロジェクト内に新しくアプリをインストールすると、自動で次のファイルが生成される。
taskmanage
— migrations
— __init__.py
— admin.py
— apps.py
— models.py (モデルを定義するファイル)
— tests.py
— views.py(ビューを定義するファイル)
プロジェクトとアプリの関係
プロジェクトを新規作成する場合には、プロジェクト名を「config」にする人が多い。プロジェクト作成で自動生成されるファイルは設定ファイルなので、そのように命名した方が使い勝手が良くなるという理由から。
プロジェクト内には、複数のアプリを作成することが可能。
通常の開発では、目的別に多数のアプリが作成されていることが通常。
そのため、テンプレートファイルはどのアプリからも共通で使えるように、プロジェクト直下のパスにしておいた方がよい。