例えば、「hogeapp」というアプリケーションディレクトリに
「hoge_action」というアクションを 実装する場合、以下のようにファイルを作成します。
1 2 3 4 5 6 | $ cd hogeapp
$ mkdir management
$ mkdir management/commands
$ touch management/__init__.py
$ touch management/commands/__init__.py
$ emacs management/commands/hoge_action.py
|
上記コマンドで作成したhoge_action.pyでは、以下のようにクラスをインポートし、
バッチ処理のエントリ関数である「handle()」メソッドをオーバーライドすることで
自分のバッチ処理を記述します。
1 2 3 4 5 6 7 8 9 10 11 12 | from django.core.management.base import BaseCommand class Command(BaseCommand): help = "[Description]\nHere is help..." option_list = BaseCommand.option_list\ + (make_option("--input", action="store", dest="ifn", default=None, help=u"command help...") , make_option(...) ,) def handle(self, *args, **options): optval1 = options['ifn'] ... |
バッチ処理実装後、以下のようにしてコマンドを呼び出すことができます。
1 | $ ./manage.py hoge_action --input="brabara..." |
また、helpメンバを定義している場合は、「./manage.py help」コマンドにて、
アクション名を表示することができます。
hoge_actionのみに限定したヘルプは、
「./manage.py hoge_action --help」にて表示することができます。