【Django】わかりやすいプロジェクト構成にする

Djangoプロジェクト構成の問題点

公式のDjangoチュートリアルで紹介されているプロジェクト構成には以下の問題点があると思っています。Djangoでの開発に慣れた方であれば気にならない問題なのですが、フレームワークはRailsしか触ったことのなかった私にとってはそうではありませんでした・・・。

  • ベースディレクトリの名前と設定ディレクトリの名前が同じでややこしい
  • htmlやjsといったテンプレート及び静的ファイルがアプリケーション毎にバラバラに配置されてします

ベストプラクティス

ハンズオン形式で順番にDjangoプロジェクトを立ち上げていきましょう。

仮想環境を作成する

今回はvenvによって仮想環境を使用します。まずはENVという名前の仮想環境を作っていきましょう。基本的に上記のとおりにコマンドを叩いていけばOKです。

仮想環境の概念と利用方法については別記事で紹介しているため、ここでの説明は省きます。

Djangoをインストールする

仮想環境を作成し、その仮想環境に入れたらDjangoをインストールしていきましょう。ご多分に漏れずpipコマンドを使ってインストールしていきます。

ベースディレクトリ名と設定ディレクトリ名を別にする

settings.pyやurls.pyがconfig直下に作成さます。「config」というディレクトリ名はひと目で「あ、これは設定ディレクトリだな」と誰でも推測がつきますね。ちなみに設定ディレクトリの名前は何にしても問題ありません。defaultやrootなど、なんでも大丈夫です。

記事の冒頭で上げた問題点の一つがこれで解消されました。

settings.pyを修正する

次に、テンプレートファイルと静的ファイルを保持する場所をまとめていきます。前項で作成したconfigと同じ階層、つまりベースディレクトリ直下にまとめて配置することによって将来的なメンテナビリティを確保していきましょう。

以下、setting.pyの該当箇所を修正していきます。

これで準備が整いました。

ベースディレクトリ直下にtemplatesディレクトリとstaticディレクトリを作成しましょう。

出来上がったDjangoプロジェクトの構成

設定、アプリケーション、静的ファイル、テンプレートファイルと、用途や機能に合わせてディレクトリ構成を最適化することができました。

仮にこのDjangoプロジェクトが自分の手を離れたとしても、READMEに上記のディレクトリ構成にした旨とその意図を記録しておけば、将来的に難解な構成にならないのではないでしょうか。

 

2 thoughts on “【Django】わかりやすいプロジェクト構成にする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です