- app
- __init__.py
**- admin.py**
- migrations
- 0001_initial.py
- __init__.py
- __pycache__
**- models.py**
- tests.py
**- views.py**
- __pycache__
- apps.py
- db.sqlite3
- ganchan
- __init__.py
- __pycache__
- asgi.py
**- settings.py
- urls.py**
- wsgi.py
**- manage.py**
- static
- templates
- account
- index.html
- openid
- socialaccount
- tests
- timer.html
manage.py
: これはDjangoプロジェクトの運用を手助けする道具箱のようなものです。このファイルを使って新しいWebアプリの部品(アプリケーション)を作ったり、データベースの更新(マイグレート)を行ったり、Webアプリを動かす(サーバーを起動)ことができます。settings.py
: Djangoプロジェクトの設定書のようなものです。データベースの設定(どのデータベースを使うか)、デバッグモード(エラーが起きたときに詳しい情報を表示するかどうか)、インストールしたアプリのリスト、ミドルウェア(リクエストとレスポンスを処理するツールのリスト)、テンプレートの設定(HTMLのテンプレートをどこに保存するか)、静的ファイルの設定(画像やCSSファイルはどこにあるか)など、Webアプリの動きを制御する重要な情報が全てここに書かれます。urls.py
: Djangoの道案内です。ユーザーが特定のURLにアクセスしたとき、それをどのビュー(画面)につなげるかを決めるのがこのファイルの役割です。models.py
: データベースの設計図です。ここで定義するクラスが、データベースのテーブルに対応します。例えば、ブログの投稿を管理するためには**Post
**という名前のモデルを作り、その中にタイトル、本文、投稿日などを定義します。views.py
: ユーザーに何を表示するかを決める部分です。たとえば、「全てのブログ投稿を表示する画面」や「新しいブログ投稿を作る画面」など、それぞれの画面に対応するコードをここに書きます。admin.py
: Djangoには便利な管理画面がついていますが、そのカスタマイズを行うのがこのファイルです。例えば、ブログの投稿を管理画面から追加したり編集したりするためには、**Post
**モデルをここで登録します。これらのファイルは一緒に動くことで、Webアプリケーションが形成され、動くのです。
以下はDjangoの主要なファイルとその関係を示す図です。
https://showme.redstarplugin.com/d/sCbM6tcG
この図では以下のような関係性が示されています:
manage.py
**はWebアプリケーションの作成と管理を行います。settings.py
**はWebアプリケーションの設定を行います。urls.py
**はURLのルーティングを行い、それを対応するビューにつなげます。models.py
**はデータベースのテーブルを定義します。views.py
**は表示する内容を定義します。