14
15

More than 3 years have passed since last update.

Djangoのサーバ起動をPycharmではなくVScode でやってみた件

Posted at

introduction

最近、自己啓発のためにDjangoを始めて3日のよわよわエンジニアのまるん(仮)です。
ハンドルネーム募集中です('ω')
動かして学ぶ! Python Django開発入門を買って始めてみました。
書籍ではPycharmで開発やサーバの起動をやってて、最近VScode主体で開発をしてる自分としてはうーーーーんって感じでした。コードの修正は良いとして、サーバの起動も何とかVScodeで出来ないかなと。
そこで、12/18 に開催されたVScode Meetup で学んだデバッグ機能を使って実装してみました!
前置き長くなったので早速書いていきます。

環境

  • Windows10
  • Python:3.7
  • Django:2.2.2
  • VScode:1.4.1
  • 作業ディレクトリは右記とする:/Users/marun/test

1. Interpreter の設定

venv を使用して開発を行っていたので、settings.json を新規で作成し、venvのPython.exeを以下のように再設定。

/Users/marun/test/.vscode/settings.json
{
    "files.eol": "\n",
    "terminal.integrated.env.windows": {
        "PATH": "${workspaceFolder}/venv/Scripts;${env:PATH}"
    },
    // ${workspaceFolder}:C:Users/marun/test のことである。
    "python.pythonPath": "${workspaceFolder}/venv/Scripts/python.exe"
}

2. 環境変数の設定

WindowsでDjangoのサーバを起動するには環境変数が必要だったのですが、launch.jsonに.envファイルを読み込ませることが出来るようなのでそれを作成します。

/Users/marun/test/.vscode/.env
PYTHONUNBUFFERED=1
DB_USER="[ユーザ名]"
DB_PASSWORD="[パスワード]"

これは自分の場合の設定ですので、必要に応じて中身を書き換えてください。
macの場合は環境変数いらないぽい?

3. launch.json の作成

最後に、デバッグ機能の構成の元になるlaunch.json を作成していきます。

/Users/marun/test/.vscode/launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "console": "integratedTerminal",
            "args": [
                "runserver",
                "--noreload"
            ],
            "envFile": "${workspaceFolder}/.vscode/.env",
            "django": true
        }
    ]
}

envFile を定義することにより、無事環境変数を読み込むことが出来ました。
これを作成すると、以下のようなボタンがデバッグモードのところに出てくると思います。

VScode1.png

4.実行

ボタンを押すと、ターミナルが動き出します。
エラーが出ず、以下のような出力があれば成功です!
実際に赤で囲ったURLを叩いて確認してみましょう!
VScode2.png

5.最後に

Qiitaで記事書くのも2回目とかですし、まだまだ勉強不足でつよつよエンジニアとはとてもじゃないが言えないですが、これからもこんなのあったらいいなと思うものを実装してアウトプットしていこうと思います。
同じような悩みを持った同胞がこの記事で救われますように。
また、もっとこうした方がいいよとか、これ間違ってるよ等のコメントお待ちしてます!
皆さんの知識を下さい!!

余談

動かして学ぶ! Python Django開発入門ですが、フルカラーだし、Django以外にも色々技術学べるしとても良書だと思いました(異論大歓迎です)。

余談の余談

ハンドルネームとかいい感じのアイコンってみんなどうやって探しているのだろう。。。

14
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
15