djangoで作成したコマンドの一覧を取得する方法

管理画面からコマンドを実行できるようにしたくて調べました。

from django.core.management import find_commands
from django.conf import settings

commands = find_commands(
                settings.BASE_DIR / 'my_app' / 'management')

# 実行
management.call_command(commands[0])

find_commandsというのが用意されていてmanagementのパスを指定するとその中のcommand名をがすべて返ってきます。

パスを指定するのでsettingsで設定していると思われる
BASE_DIRが欲しいと思います。

これは、settingsをimportすることでとってこれます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です