PythonのWebフレームワークであるDjangoについての忘備録。
最新のリリースバージョンは2.1.7となっています。(2019年3月3日現在)
https://www.djangoproject.com
開発環境のセットアップ
初めに、Pythonの開発環境を作成します。
プロジェクトのフォルダを作成し、フォルダ内のPythonのバージョンを3.7.0に設定します。開発環境をenvフォルダ内に作成し、activateして開発環境を有効にします。
$ mkdir <リポジトリ名>
$ cd <リポジトリ名>
$ pyenv install 3.7.0
$ pyenv local 3.7.0
$ python -m venv env
$ source env/bin/activate
$ pip install --upgrade pip
Djangoプロジェクト
Djangoプロジェクトの構造
リポジトリのディレクトリに移動し、django-adminコマンド(またはdjango-admin.py)を使用して、プロジェクトを作成します。
$ django-admin startproject <プロジェクト名>
その後、プロジェクトのディレクトリに移動し、同様にアプリを作成します。
$ cd <プロジェクト名>
$ django-admin startup <アプリ名>
結果として、以下のような階層構造となります。
<リポジトリのルート>/ : README.md、.gitignore、docs/などを配置
<Djangoプロジェクトのルート>/ : プロジェクトに関連するすべてのPythonコードの格納先。Djangoの各Appはこの階層に作成する。
<Configurationルート>/ : 設定モジュール、ベースURLConf (urls.py)などの格納先 (configディレクトリ)
Djangoアプリの設計
いくつか用語の定義をしておきます。
- Djangoプロジェクト: Djangoウェブフレームワークによって構成されるウェブアプリケーションのこと。
- Django apps: プロジェクト内の小さなライブラリ群のこと。Djangoプロジェクトは多くのDjango appsで構成されます。それらのアプリのうち、いくつかはプロジェクトの内部で使用されるだけで、再利用されません。その他、サードパーティのDjangoパッケージなどもこれに含まれます。
- INSTALLED_APPS: INSTALLED_APPSの設定によってプロジェクト内で使用可能なDjango appsのリストのこと。
- サードパーティのDjangoパッケージ: Pythonパッケージングツールでパッケージ化され、プラグアンドプレイで使用できるDjango appsのこと。
(追記予定)