PyCharmでDjangoを起動してデバッグする方法

PyCharm(Community版(フリー))でDjango付属のWebサーバを起動するコマンドを登録する設定をして、PyCharmからDjangoアプリを起動してデバッグできるようにする方法について説明しています。

※ 本ページはプロモーションが含まれています。

目的と動作環境

最終更新日:2022/11/4

Django開発時にDjangoに付属しているWebサーバを起動してDjangoアプリを確認する場合、ターミナル上でこのコマンドを実行します。

$ python manage.py runserver
そして、このコマンドはPyCharm上から実行する事もできます。もちろんターミナルからコマンドを実行しても良いが、PyCharm上から実行した方がちょっと手軽だし、何よりデバッグモードでも起動できるようになるのでDjangoのWebアプリをデバッグ開発する事ができて非常に便利です(便利というよりWebアプリを開発するのにデバッグは必須だと思います)。

という事で、本記事ではPyCharm上でDjango内蔵のウェブサーバを起動するコマンドを実行する設定と、Djangoアプリのデバッグについて説明していきます。

本記事は前提として、PyCharmのDjango開発プロジェクトで使用するPythonインタープリタ(Python環境)にdjangoがインストールされている必要があります。PyCharmで使用するPython環境の設定方法は別ページで説明しています。
PyCharmでDjango開発時に使用するPythonの設定

■動作環境とバージョン情報です。
OS:macOS Big Sur(バージョン11.7)
PyCharm:Community版、2022.2.2

PyCharmにはフリーのCommunity版と有料のPro版があります。公式サイトを見る限り(2022/10/10時点)、両者の差は機能面で多くありますが、Web系の開発やフレームワークを使用する場合はPro版の方が良さそうです。DjangoのサポートもPro版のみとなっています。ただ、個人的にCommunity版でDjangoプロジェクトを開いて使用した感じだと、エディタとしては十分使えるし、デバッグもできて便利なのでかなり使えるかなと思っています。今はDjangoの学習をしているだけですが、これから何かちゃんとDjangoでウェブアプリを開発する段階になったらPro版の使用を検討してみようと思います。

Community版とPro版の違いの詳細については、公式サイトで確認してください。
PyCharm Pro と PyCharm Communityの比較 | PyCharm

PyCharmでDjango付属のWebサーバとDjangoアプリを起動するコマンド($ python manage.py runserver)を登録する

それではまず、Django付属のWebサーバとアプリを起動するコマンドを登録する設定をします。

PyCharmのエディタ上部にある「現在のファイル」->「実行構成の編集」を選択します(既に何かコマンドを登録している場合、"現在のファイル"ではなく登録したコマンド名が表示されていると思います)(PyCharmが英語版なら「Current File」->「Edit Configurations」)。
PyCharmで実行構成の編集を選択

実行/デバッグ構成画面(Run/Debug configurations画面)が開くので、左サイドバーのプラス(+)印を選択して(もしくは新規追加を選択)、"Python"を選択します。
PyCharmの実行/デバッグ構成画面

Pythonコマンドの登録画面になるので、"名前"は適当な名前(runserverやdjangoウェブサーバ起動とか)を入力し、"スクリプトパス"はDjangoプロジェクトのmanage.pyファイルのパスを選択し、"パラメーター"はrunserverと入力してOKボタンを押します(あと、"Pythonインタープリター"のPythonコマンドパスが、djangoパッケージがインストールされている環境である事を確認しておく)。
PyCharmでdjango付属のWebサーバ起動コマンドを登録

これで設定は完了です。エディタ画面に戻るので、エディタ上部にある実行ボタン(右矢印ボタン)を押せば、Django付属のWebサーバとDjangoアプリが起動して、PyCharmの下部にあるコンソール上にDjango付属のWebサーバの起動ログが出力されるはずです。あとはブラウザ等でDjangoアプリを確認してください。
PyCharmでpython manage.py runserverコマンドを実行

上でも書きましたが、PyCharmで使用するPython環境にはdjangoパッケージがインストールされている必要があります。もしもdjangoがインストールされていないPython環境でDjangoのWebサーバを起動するコマンドを実行した場合、コンソルー上にエラーメッセージログが出力されると思います。

〜
      raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
エラーログが出力された場合、再度Djangoプロジェクトで使用しているPythonインタープリタ環境を確認してみてください。PyCharmで使用するPython環境の設定方法は別ページで説明しています。
PyCharmでDjango開発時に使用するPythonの設定

PyCharmでDjangoアプリをデバッグする

次にデバッグ起動して、DjangoのWebアプリをデバッグできるかどうか確認してみます。

デバッグするには、Djangoアプリでデバッグしたいコードにブレークポイントを付けて、エディタ上部にあるデバッグ起動ボタンを押します。

デバッグ起動してブラウザからDjangoウェブアプリにアクセスすると、PyCharmのデバッガーが起動して変数などの値を確認する事ができます!
PyCharmでDjangoアプリをデバッグ
やはりデバッグはDjangoウェブアプリを開発するのに必須ですね。

デバッグ時に変数の値を変更する(式の値を再評価する)

PyCharmではデバッグ中に式の値を再評価する事で、簡単に変数の値を変更する事ができます。この式の再評価機能は非常に便利で、DjangoのWebアプリをデバッグ開発している時も変数の値を変更する事で、効率よくデバッグする事が可能になると思います。

式の再評価機能については別ページで説明しているので、そちらを参考にしてください。
(PyCharm)デバッグ中に変数の値を変更する(式の評価)

最後に

この記事では、PyCharm上の"実行/デバッグ構成"でDjango付属のWebサーバを起動するコマンドの登録とDjangoアプリのデバッグについて説明しました。

今回登録したコマンドは1つだけですが、Django(manage.py)は他にもマイグレーションを実行したり(makemigrations,migrate)、データベースを管理するなどのサブコマンドが多くあるので、よく使うコマンドは今回のように登録しておくのも便利で良いと思います。