本文へスキップ
BecomeCoder

Djangoコース · 第1章 はじめてのDjango · レッスン4

本物のプロジェクト構成 ― startproject と manage.py

ローカル実施

導入

このコースでは1ファイルに全部を書いていますが、実際の Django プロジェクトは複数のファイルに分かれています。現場で最初に出会う「プロジェクトの形」を知っておきましょう。

説明

実際に手元の PC で Django を始めるときは、まず次のコマンドを打ちます。

pip install django
django-admin startproject mysite
cd mysite
python manage.py runserver

すると、こんなファイル群ができます。

mysite/
├── manage.py          # 各種コマンドの入り口(runserver / migrate など)
└── mysite/
    ├── __init__.py
    ├── settings.py    # 設定(このコースの settings.configure(...) にあたる)
    ├── urls.py        # URL表(このコースの urlpatterns にあたる)
    ├── asgi.py        # 本番サーバー(ASGI)との接続口
    └── wsgi.py        # 本番サーバー(WSGI)との接続口

さらに、機能のまとまりごとに「アプリ」を作ります。

python manage.py startapp blog
blog/
├── models.py     # モデル(データベース)
├── views.py      # ビュー
├── admin.py      # 管理サイトの設定
├── apps.py
└── migrations/   # DBの変更履歴

つまり、このコースで1ファイルに書いている内容は、本物のプロジェクトでは次のように散らばっています。

このコース(1ファイル)本物のプロジェクト
settings.configure(...)mysite/settings.py
urlpatternsmysite/urls.pyblog/urls.py
def view(request)blog/views.py
class Model(models.Model)blog/models.py

役割は同じです。このコースでは「散らばると全体像が見えづらい」初学者のために、あえて1ファイルにまとめて、Django の考え方に集中できるようにしています。学び終えたら、同じコードを上の構成に分けて置くだけで、本物のプロジェクトになります。

python manage.py runserver を実行すると開発用サーバーが立ち上がり、ブラウザで http://127.0.0.1:8000/ を開いて動作を確認できます。このコースの「テストクライアント」は、その runserver にアクセスする代わりだと考えてください。