Monthly Archives: March 2019

何度も忘れるDjango

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のこと。

(追記予定)