【Django】VScodeでデバッグするための設定方法

- Python -
2020.11.23
Django

VSCodeでDjangoアプリを書き始めた。でもデバッグの設定方法が分からん...。

そんなかたへ向けてメモを残します。エラーも出たので僕はDjangoのデバッグ設定だけで午前をまるまる潰しました...。

VScodeでDjangoをデバッグするための設定手順

前提の設定:プラグインのインストール

VSCodeでPythonを書く人は必ず入れているかと思いますが、以下Pythonプラグインをインストールしておいてください。

DjangoをVSCodeでデバッグ

これがインストールされていないとデバッグが動きませんでした。

launch.jsonを生成

まず、VSCodeでDjangoプロジェクトのフォルダを開いていることを確認します。

DjangoをVSCodeでデバッグ

  1. 虫再生マークをクリック
  2. 「create a launch.json file」をクリック

DjangoをVSCodeでデバッグ

「Django Launch and debud Django〜」をクリック。

DjangoをVSCodeでデバッグ

以下のようなパスを入力する欄が表示されることを確認。

DjangoをVSCodeでデバッグ

django-admin startproject xxxx コマンドでDjangoプロジェクトを作った時のxxxxを以下赤線のように"${workspaceFolder}/" と "/manage.py"の間に入力したらエンター。

DjangoをVSCodeでデバッグ

onlinestoreプロジェクトを作った場合の例

どういうことかというのを、Djangoプロジェクトのディレクトリ構造と対比させてみるとこんな感じ。

DjangoをVSCodeでデバッグ

launch.jsonファイルが出来上がっていればOK。準備完了。

DjangoをVSCodeでデバッグ

デバッグ起動

また虫再生マークをクリックしたら、

  1. RUN▶︎をクリックする(デバッグが起動し始める)
  2. ターミナルで「Starting development server at http://127.0.0.1:8000/」と表示されること

DjangoをVSCodeでデバッグ

http://127.0.0.1:8000/にアクセスしてDjango初期画面が表示されれば成功。

DjangoをVSCodeでデバッグ

Python仮想環境(venv)でDjangoをデバッグできるようにする

python -m venv venvなどでPython仮想環境の中にDjangoプロジェクトを作っている場合、ハマったエラーがありました。

デバッグ実行時に"Couldn't import Djangoエラー"が出る場合

とくに、以下のようにDid you forget to activate a virtual environment?と怒られてしまった場合。

DjangoをVSCodeでデバッグ

以下、対処法です。

Command + Shift + Pを同時押しすると、入力欄が現れるので、

  1. 「Python」と入力し候補を表示させ、
  2. Python: Select Interpreterをクリック

DjangoをVSCodeでデバッグ

するとPythonのパス候補がずらっと表示されるので、Djangoプロジェクト内にあるPython仮想環境のパスをクリックします。

DjangoをVSCodeでデバッグ

パスを選択した直後、settings.jsonファイルが生成されます。中身をみると、Djangoプロジェクト内の仮想環境内のPythonパスが記載されているはずです。

DjangoをVSCodeでデバッグ

これで再度デバッグを起動します

DjangoをVSCodeでデバッグ

エラーが解消されていれば完了!

↑TOP