アクションを自作する

revision-up-to:11321 (1.1)

manage.py には、アプリケーション固有のアクションを定義して登録できます。 例えば、配布したいアプリケーションの中に、 manage.py アクションを追加し たい場合があるとしましょう。

アクションを追加するには、アプリケーション内に management/commands ディ レクトリを作成します。このディレクトリを作成しておくと、 manage.py の実 行時にディレクトリ内のモジュールが自動的に検出され、アクションとして実行で きるコマンドが登録されます:

blog/
    __init__.py
    models.py
    management/
        __init__.py
        commands/
            __init__.py
            explode.py
    views.py

上の例では、 blog アプリケーションを settings.INSTALLED_APPS に登録 してあるプロジェクトで explode というコマンドを使えるようになります。

コマンドモジュールの必須の条件として、 explode.pydjango.core.management.base.BaseCommand を拡張した Command という名 前のクラスを定義していなければなりません。

自作のコマンドを定義する詳しい方法は、既存の django-admin.py コマンドの ソースコードを参照してください。ソースは /django/core/management/commands にあります。