社内ツールの開発を効率的に行うことができるPythonのDjangoフレームワークを使用する際に、
Webサイトとは別にバッチを作成したいときはカスタムコマンドを作成します。
カスタムコマンドを実装するときにIDEのPyCharmでデバッグする方法を紹介します。
Djangoについて
Djangoはニュース系サイトを管理する目的で開発されたPythonのWebフレームワークです。
ユーザー管理やデータ変更画面がデフォルトで用意されているため、
社内ツールなどを開発するときに短時間で作成できます。
Djangoの開発を行うにはPyCharmを使用するのが便利です。
PyCharmについて
JetBrainsが提供するPython用IDEです。
無料版のCommunity Editionと、月額2000円程度の有料版のProfessionalが存在します。
Djangoカスタムコマンド
Djangoで作成したDB操作のためのクラスを使用してGUIでなくバッチ処理を行うためには、
カスタムコマンドを作成します。
CustomCommandの作成方法は公式ドキュメントが分かりやすく記載されているため、
以下を参考にしてください。
公式ドキュメント:カスタム django-admin コマンドの実装
PyCharmでのデバッグ方法
公式のDjangoカスタムコマンドのドキュメントに従って、
mysiteプロジェクト内にpollsアプリケーションのclosepollコマンドがある状態を用意します。
「Run」→「Edit Configurations」を選択
左上の「+」ボタンを選択
「Script path」と「Working directory」に実行したいアプリケーションのmanage.pyのパスを設定。
(Working directoryのパスが設定されているので、Script pathはmanage.pyのみでもOKです。)
「Parameters」にコマンド名の「closepoll」を設定し、
右下の「OK」を選択。
ブレイクポイント(赤丸)を設定し、右上のデバッグボタンを押下してデバッグ実行すると、ブレイクポイントで止まりデバッグすることができます。
参考
https://stackoverflow.com/questions/17141817/how-to-debug-django-commands-in-pycharm
https://docs.djangoproject.com/ja/2.1/howto/custom-management-commands/
https://qiita.com/ytyng/items/a64d474c40587459d52f