Django

カスタムDjangoコマンド

管理コマンド、BaseCommand、引数解析、スケジューリング、cronジョブ、自動化

18 面接問題·
Senior
1

カスタムDjango管理コマンドのファイルを自動的に検出させるには、どこに配置すればよいですか?

回答

カスタムDjango管理コマンドは、Djangoアプリケーションのmanagement/commands/ディレクトリに配置する必要があります。このディレクトリには、management/とcommands/の両方に__init__.pyファイルが含まれている必要があります。Djangoはこのパスを自動的にスキャンして、利用可能なコマンドを検出します。Pythonのファイル名が、manage.pyで実行可能なコマンド名になります。

2

カスタムDjango管理コマンドを作成するには、どの基底クラスを使用すべきですか?

回答

BaseCommandは、カスタムコマンドを作成するためにdjango.core.management.baseが提供する標準の基底クラスです。引数解析、出力色の処理、エラー管理、manage.pyとの統合など、必要なインフラを提供します。コマンドのロジックを含めるためにhandle()メソッドを実装する必要があります。

3

カスタムDjango管理コマンドで位置引数を定義するには?

回答

add_arguments()メソッドを使うと、argparseパーサーを使ってコマンドの引数を定義できます。位置引数の場合は、ダッシュの接頭辞なしでparser.add_argument('name')を使用します。期待される引数の数を指定するにはnargsを使えます('+'は1つ以上、'*'は0個以上)。引数はその後、handle()内のoptions辞書を介してアクセスできます。

4

Djangoコマンドで適切な色付きの成功メッセージを表示するには、どのメソッドを使用すべきですか?

5

Djangoコマンドの実行を停止し、ゼロ以外の終了コードを返すエラーを通知するには?

+15 面接問題

次の面接に向けてDjangoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める