LoginSignup
3
7

More than 5 years have passed since last update.

PythonのWebフレームワークDjangoでバッチ処理(カスタムコマンド)を行うときのPyCharmでのデバッグ方法

Last updated at Posted at 2018-08-27

社内ツールの開発を効率的に行うことができるPythonのDjangoフレームワークを使用する際に、
Webサイトとは別にバッチを作成したいときはカスタムコマンドを作成します。
カスタムコマンドを実装するときにIDEのPyCharmでデバッグする方法を紹介します。

スクリーンショット 2018-08-27 15.18.58.png

Djangoについて

Djangoはニュース系サイトを管理する目的で開発されたPythonのWebフレームワークです。
ユーザー管理やデータ変更画面がデフォルトで用意されているため、
社内ツールなどを開発するときに短時間で作成できます。
スクリーンショット 2018-08-27 14.29.10.png
Djangoの開発を行うにはPyCharmを使用するのが便利です。

PyCharmについて

JetBrainsが提供するPython用IDEです。
無料版のCommunity Editionと、月額2000円程度の有料版のProfessionalが存在します。
スクリーンショット 2018-08-27 14.17.46.png

Djangoカスタムコマンド

Djangoで作成したDB操作のためのクラスを使用してGUIでなくバッチ処理を行うためには、
カスタムコマンドを作成します。
CustomCommandの作成方法は公式ドキュメントが分かりやすく記載されているため、
以下を参考にしてください。
公式ドキュメント:カスタム django-admin コマンドの実装

PyCharmでのデバッグ方法

公式のDjangoカスタムコマンドのドキュメントに従って、
mysiteプロジェクト内にpollsアプリケーションのclosepollコマンドがある状態を用意します。
スクリーンショット 2018-08-27 13.48.21.png
「Run」→「Edit Configurations」を選択

スクリーンショット 2018-08-27 13.51.54.png

左上の「+」ボタンを選択

スクリーンショット 2018-08-27 15.18.12.png

「Script path」と「Working directory」に実行したいアプリケーションのmanage.pyのパスを設定。
(Working directoryのパスが設定されているので、Script pathはmanage.pyのみでもOKです。)

「Parameters」にコマンド名の「closepoll」を設定し、
右下の「OK」を選択。
スクリーンショット 2018-08-27 15.18.58.png

ブレイクポイント(赤丸)を設定し、右上のデバッグボタンを押下してデバッグ実行すると、ブレイクポイントで止まりデバッグすることができます。

参考

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

3
7
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
3
7