Visual Studio Code と Dockerを使って、Django開発環境を整える

目次

環境構築

Macの場合

以下の2つをインストールします。

Windowsの場合

以下の3つを実施します。

  • https://azure.microsoft.com/ja-jp/products/visual-studio-codeをインストール

  • 「Windowsの機能の有効化と無効化」で、「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」にチェックを入れ、「OK」をクリック。画面指示にしたがってインストールと再起動。

  • をインストール

devcontainer.json、Dockerfile の作成

  1. 任意の場所に作業用フォルダを作成する
    例1 C:\django-dev-app ( Windowsの場合 )
    例2 /Users/ユーザー名/django-dev-app ( Macの場合 )

  2. Docker Desktop を起動しておく。

  3. Visual Studio Code を起動し、作業用フォルダを開く

  4. 「はい、作成者を信頼します。」をクリック。

  5. Visual Studio Code の拡張機能として、「Dev Containers」をインストール。

  6. Visual Studio Code で、「.devcontainer」フォルダを作成

  7. 「.devcontainer」フォルダの下に、devcontainer.jsonとDockerfileの2つのファイルを作成する。

    1. devcontainer.json の中身

      { "name": "DjangoApp", // Dockerfileでイメージ・コンテナを作成 "dockerFile": "Dockerfile", // リモート先のVS Codeにインストールする拡張機能 "extensions": [ "ms-python.python" ], "shutdownAction": "stopContainer" }
    2. Dockerfile の中身

      FROM python:3.11 ENV PYTHONUNBUFFERED 1 RUN pip install django RUN pip install django-filter RUN pip install django-crispy-forms RUN pip install django-import-export RUN pip install django-ninja RUN pip install django-debug-toolbar RUN pip install django-axes RUN pip install Pillow

Djangoコンテナの起動

  1. Visual Studio Code の画面上部で「表示」>>「コマンドパレット」をクリック。

  2. 「コンテナーでフォルダーを開く」をクリック

  3. 作業用フォルダを指定し、「Open(開く)」をクリック。この際に、Gitのインストールを求められることがあるので、その場合は画面指示に従って、Gitをインストールする。画面右下に表示される指示に従って操作を行う。

  4. Dockerfile に基づき、コンテナの作成が始まる。

  5. Docker Desktopでコンテナが起動していることを確認できる。
    コンテナ名は、コンテナ作成毎に異なる

Django プロジェクトの作成

「web_app1」というDjangoプロジェクトを作成します。「web_app1」は任意なので、他の名称でも構いません。

Visual Studio Code の画面上部で「ターミナル」>>「新しいターミナル」の順にクリックします。次のコマンドを実行します。Djangoプロジェクト名を「mysite」とします。Djangoプロジェクト名は任意に変えてください。

django-admin startproject mysite .

作業用ディレクトリに、「mysite」というディレクトリと、「manage.py」が生成されます。

次のコマンドを実行し、空のデータベースを作成します。

実行結果

「db.sqlite3」ファイルが作成されました。MySQLやPostgreSQLを指定していない場合、つまり標準の状態では「SQLite」がデータベースとして使用されます。

Django 開発用サーバーの起動

次のコマンドを実行し、Djangoの開発用サーバーを起動し、Djangoが有効であることを確認することができます。

実行結果

画面右下に表示される「ブラウザーで開く」をクリックします。

ポート 8000 で起動していることから、Djangoの開発用サーバーであることがわかります。通常、開発を終えて開発者以外に使ってもらう場合は、Apache2もしくはNginxを使います。

Djangoを使ったアプリケーション開発に取り組む

チュートリアルをいくつかやってみましょう。

Polls アプリケーションの開発 >> https://docs.djangoproject.com/ja/4.2/intro/tutorial01/

blog アプリケーションの開発 >> https://tutorial.djangogirls.org/ja/

ランチマップアプリの開発 >> https://paiza.jp/works/django/primer