Cookiecutter Djangoは素早く本番環境に対応したプロジェクトを作成できるフレームワークです。
非常に便利なのですが、初めて使った時は、利用用途が不明なファイルがあったり、Djangoのプロジェクトの構成を調べる必要がありました。
今回は、Cookiecutter Djangoで作成されるプロジェクトについて簡潔に解説します。
なお、インストール方法や、利用方法はCookiecutter Djangoのインストール方法、使い方、メリット・デメリットで紹介しています。
使用バージョン:3.1.13
ファイル構成
Cookiecutter Djangoを実行すると複数の設問に答える必要がありますが、今回は全てデフォルト値を使用しました。このときに作成されるフォルダ構成は上の画像の様になります。
以降ではこれらのフォルダやファイルの役割を簡潔に解説します。
Django関連ファイル
webサイトの作成に関連するファイルは以下のとおりです。
config
設定ファイルや、urls.py、wsgi.pyが入っているフォルダです。
settings.pyはローカル用、テスト用、プロダクション用に分割されています。
manage.py
Djangoでプロジェクトを作成したときに作成されるファイルです。
my_awesome_project
アプリの本体が格納されたフォルダです。
Cookiecutter Djangoのproject_slugの設問の回答がこのフォルダ名に使われます。
startappコマンドで作成したアプリはこのフォルダ内に入れて管理する方が良いと思います。このフォルダ内のusersフォルダもDjangoアプリの一つです。
テンプレートはアプリ毎にtemplatesディレクトリを作成するのではなく、<project_slug>/templates/<app_name>/
に格納している様です。
例えばUserアプリは、my_awesome_project/users/templates/users/ に格納するのではなく、my_awesome_project/templates/users/ に格納しています。
pytest.ini
pytestの設定ファイルです。
requirements
開発に必要なpythonパッケージを管理するフォルダです。
ローカル用、プロダクション用に分けられています。
locale
多言語化設定用のフォルダです。
docs
ドキュメント作成関連のフォルダです。
.readthedocs.yml
ドキュメント用の設定ファイルです。
git関連
.gitattributes
gitの属性を管理するファイルです。ファイルには
* text=auto
のみ書いてありますが、これは”全てのテキストファイルの改行コードを環境に応じて自動変換する”という意味です。
私はCookiecutter Djangoで初めて知りました。windows, mac, linuxなど複数のosで開発する場合はあると便利かもしれません。
.gitignore
git(バージョン管理システム)から除外するファイルやディレクトリを記載するためのファイルです。
既にDjango用に記述されているため編集する機会は少ないと思います。
.pre-commit-config.yaml
pre-commitというコードの管理・メンテナンスすることができるフレームワークのための設定ファイルです。
pre-commitを使うとcommit毎にフックを実行して、余分な空白の削除や、コーディングスタイルのチェックなどを行い、問題があれば指摘します。
些細なコーディングミスに気付けるので、複数人の開発でコードレビューを実施している場合は利用する価値があるかもしれません。
その他
.editorconfig
複数の開発者が様々なエディターやIDEを使っていても一貫したコーディングスタイルを維持するためのファイルです。
利用するエディターやIDEによってはプラグインを導入する必要があります。
.pylintrc
.pylintrcはPylintというPythonコードのエラー チェックツール用の設定ファイルです。
setup.cfg
setup.cfgはPythonパッケージを作成する時などに使われるファイルです。
Cookiecutter Djangoが出力するファイルには、pre-commitで使うコーディングスタイル用の設定や、カバレッジ用の設定が書かれています。
CONTRIBUTORS.txt
製作者の名前を書いたファイルです。
LICENSE
ライセンスファイルです。
README.rst
主にプロジェクトの概要を説明するためのファイルです。githubではリポジトリページの下部に表示されます。
utility
サーバーの初期設定をするためのスクリプトだと思います。
OSに必要なソフトウェアをインストールするスクリプトと、Pythonのモジュールをインストールするスクリプトがあります。
install_os_dependencies.shファイルは最初にOSのディストリビューションのバージョンを確認し、その結果に応じて、aptファイルを使い分けています。
最後に
Cookiecutter Djangoは幅広いプロジェクトの作成に対応しており、人気の高いフレームワークです。そのため私が知らなかったツールの設定ファイルもありました。
Cookiecutter Djangoで生成されたファイルを全て使う必要はなく、不要なファイルは潔く削除した方が管理しやすいと思いました。
Cookiecutter Djangoの良い点を取り入れて、自身のプロジェクト作成・管理に役立てましょう!
コメントを残す