💻

【Django×VSCode】デバッグできる環境を作成しよう

2025/01/04に公開

VSCode を使用して、Django の勉強をしています

開発においてデバッグはとても重要ですが、なかなか参考書にやり方が書いてないんですよね...

そこで、今回は VSCode で Django のデバッグができるよう設定していきます。

ディレクトリ構成

デスクトップ直下に「sample_site」という Django のプロジェクトを作成しました

Desktop   
L sample_site (Django のプロジェクト)

設定方法

VSCode を開く

VSCode で Django プロジェクトを開きます

今回は、「sample_site」フォルダを開きます

lauch.json を作成する

実行とデバッグを開く
-> 「launch.json を作成します」をクリック
-> 「Python」と入力し、Enter

「Django」をクリック

フォルダ内に「launch.json」が作成されれば、OK です

launch.json の中身は??

現在の launch.json は以下のようになっていると思います

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}\\manage.py",
            "args": [
                "runserver",
            ],
            "django": true,
            "justMyCode": true
        }
    ]
}

"program": "${workspaceFolder}\\manage.py",
これはmanage.py の場所を指定してください。
${workspaceFolder}:VSCode で開いているフォルダのパス なので、フォルダ直下に manage.py がある場合は変更なしです

launch.json を編集する

args を以下のように変更してください

"args": [
                "runserver",
                "--noreload", //追加
                "--nothreading", //追加
            ],

(変更後の launch.json)

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}\\manage.py", //要確認
            "args": [
                "runserver",
                "--noreload", //追加
                "--nothreading", //追加
            ],
            "django": true,
            "justMyCode": true
        }
    ]
}

デバッグしてみる

設定できたので、デバッグできるか確認してみます

「実行とデバッグ」を開く
-> 「Python Django」となっていることを確認する
-> ▷ ボタンを押す

ターミナルに以下のように出力されれば、OK!

ブレークポイントを設定し、

設定したブレークポイントで停止すれば、正しく設定できています

まとめ

デバッグできないと、エラーが出ても原因が特定しにくく作業効率が下がってしまいます

快適に開発できるように設定しましょう

参考記事

https://kamatimaru.hatenablog.com/entry/2020/05/06/185545

Discussion