Django は、Web アプリケーションの様々な部分を配置するために、ディレクトリ構造 を使用します。
さて、ここでは、Django のアプリ構造とプロジェクト構造についてさらに詳しく学びます。
この記事もチェック:Django CRUDアプリケーション
Django プロジェクトの構造

これは、デフォルトの Django プロジェクト構造がどのようなものかを示しています。
上の画像に示されているファイルの機能を理解し、プロジェクトフォルダが何で構成され ているかのコンテキストを理解するのに役立てましょう。
1. 管理.py
このファイルは基本的にコマンドラインユーティリティとして、私たちのウェブアプリケーションのデプロイ、デバッグ、または実行に使用されます。
このファイルには、シェルで使用するrunserver、またはmakemigrationsやmigrationsなどのコードが含まれています。
とにかく、このファイルには何の変更も加える必要はありません。
- runserver。このコマンドは、私たちのウェブアプリケーション用のサーバーを実行するために使用されます。
- Migration: これは、モデルに加えられた変更をデータベースに適用するために使用されます。つまり、データベースに何らかの変更を加える場合は、migrateコマンドを使用します。これは、最初にデータベースを作成するときに使用されます。
- Makemigration: これは、データベースの変更によって行われた新しいマイグレーションを適用するために行われます。

この画像はあくまで参考です。
ここでは何も変更しないので、ここに書かれているコードを理解する必要はありません。
2. _init_py.py
このファイルは空のままで、この特定のディレクトリ(この場合 django_project) がパッケージであることを伝えるためだけに存在します。
このファイルも同様に、何も変更しません。

3. setting.py
このファイルは、すべてのアプリケーションとミドルウェアアプリケーションを追加するために存在します。
また、テンプレートとデータベースに関する情報もあります。
全体として、これは私たちの Django ウェブアプリケーションのメインファイルです。
4. urls.py
このファイルは、WebアプリケーションのすべてのURLを処理します。
このファイルには、私たちのウェブサイトで使用するすべてのエンドポイントのリストがあります。
URL。
ユニバーサル・リソース・ロケーターは、インターネット上に存在するリソース(画像、ウェブサイトなど)のアドレスを提供するために使用されます。

5. wsgi.py
このファイルは主にWSGIサーバーに関係し、我々のアプリケーションをApacheなどのサーバーにデプロイするために使用されます。
WSGIは、Web Server Gateway Interfaceの略で、サーバーがWebアプリケーションとどのように相互作用するかを記述した仕様と考えることができます。
繰り返しますが、このファイルには何の変更も加えません。

ここでは何も変更しないので、ここに書かれているコードを理解する必要はありません。
6. asgi.py
Django の新しいバージョンでは、wsgi.py とは別に asgi.py という名前のファイルを見つけることができます。
ASGI は WSGI の後継のインタフェースと考えることができます。
ASGI は Asynchronous Server Gateway interface の略で、 WSGI に似た働きをしますが、Django の開発においてより良い自由を与えてくれるので、前のものよりも優れています。
そのため、 WSGI は現在ますます ASGI に取って代わられつつあります。
繰り返しますが、このファイルには何の変更も加えません。

7. APPs
上記のファイルとは別に、私たちのプロジェクトにはすべてのアプリディレクトリが含まれています。
Django アプリの構造

上の画像は、先日の Django hello world アプリの記事で紹介したアプリの構造です。
アプリケーションディレクトリにあるファイルが何に使われるかを理解するために見ていきましょう。
1. _init_py.py
このファイルは、Django のプロジェクト構造における _init_py と同じ機能を持ちます。
このファイルは空のままで、特定のアプリディレクトリがパッケージであることを示すためだけに存在します。
このファイルを手動で変更する必要はありません。

この記事もチェック:Djangoでファイルアップロード機能を実装する方法を解説する
2. admin.py
その名の通り、このファイルは Django の管理画面にモデルを登録するために使用されます。
存在するモデルには、保存されている情報を制御できるスーパーユーザ/管理者がいます。
この管理者インターフェースはあらかじめ構築されているので、作成する必要はありません。

この記事もチェック:Djangoで管理画面を作る方法を詳しく解説していく
3. apps.py
このファイルは、アプリの設定を扱います。
ほとんどの場合、デフォルトの設定で十分なので、最初のうちはここで何もしません。

4. models.py
このファイルには、Webアプリケーションのモデル(通常はクラス)が含まれています。
モデルは基本的に、使用するデータベースの設計図であり、データベースの属性やフィールドなどに関する情報を含んでいます。

5. views.py
このファイルは重要なもので、全てのViews(通常はクラス)を含んでいます。
Views.py は、クライアントと対話するためのファイルと考えることができます。
Views は、 Django Web アプリケーションをレンダリングするときに見るもののためのユーザインタフェースです。
この後の節で、 Django Rest_Framework のシリアライザーの概念を使って、様々なタイプの Views を作るつもりです。

6. urls.py
プロジェクトの urls.py ファイルと同様に、このファイルでは Web アプリケーションのすべての URL を処理します。
このファイルは、アプリ内のViewsをホストウェブURLとリンクさせるだけです。
urls.pyの設定には、Viewsに対応するエンドポイントがあります。

7. tests.py
このファイルには、アプリケーションのさまざまなテストケースが含まれるコードが含まれています。
これは、アプリケーションの動作をテストするために使用されます。
最初のうちはこのファイルには手をつけませんので、今のところ空っぽの状態になっています。
まとめ
そして、これで終わりになります。
もしこのチュートリアルのどこかが理解できなくても、気にしないでください。
私たちは Django のチュートリアルをもっと公開して、これらの構造に関するより全体的な知識をゆっくりと身に付けてもらうつもりです。
そして、これらのファイルを使って実際に作業するので、 Django のアプリ構造とプロジェクト構造を簡単に理解することができるでしょう。
さて、次は Django の URL 構造について書く番です。