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 C:\django-dev-app ( Windowsの場合 )
例2 /Users/ユーザー名/django-dev-app ( Macの場合 )Docker Desktop を起動しておく。
Visual Studio Code を起動し、作業用フォルダを開く
「はい、作成者を信頼します。」をクリック。
Visual Studio Code の拡張機能として、「Dev Containers」をインストール。
Visual Studio Code で、「.devcontainer」フォルダを作成
「.devcontainer」フォルダの下に、devcontainer.jsonとDockerfileの2つのファイルを作成する。
devcontainer.json の中身
{ "name": "DjangoApp", // Dockerfileでイメージ・コンテナを作成 "dockerFile": "Dockerfile", // リモート先のVS Codeにインストールする拡張機能 "extensions": [ "ms-python.python" ], "shutdownAction": "stopContainer" }
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コンテナの起動
Visual Studio Code の画面上部で「表示」>>「コマンドパレット」をクリック。
「コンテナーでフォルダーを開く」をクリック
作業用フォルダを指定し、「Open(開く)」をクリック。この際に、Gitのインストールを求められることがあるので、その場合は画面指示に従って、Gitをインストールする。画面右下に表示される指示に従って操作を行う。
Dockerfile に基づき、コンテナの作成が始まる。
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