1. ホーム
  2. django

[解決済み] Django 1.9 の apps.py の目的は何ですか?

2022-06-20 14:35:44

質問

私はちょうど アルファ版 Django 1.9 のリリースノート を読み、その中で startapp 管理コマンド は apps.py ファイルを追加します。 .

このファイルは何のためにあるのでしょうか?は startapp documentation には詳しい情報がありませんでした。

どのように解決するのですか?

目的 apps.py ファイルを作成することです。

このファイルは、ユーザが任意の アプリケーションの設定 をアプリに含めるために作成されます。これを使用すると、アプリケーションの属性の一部を設定することができます。

から Application Configuration のドキュメントを参照してください。

アプリケーション設定オブジェクトは、アプリケーションのメタデータを保存します。 いくつかの属性は AppConfig サブクラスで設定することができます。その他は は Django によって設定され、読み取り専用になります。

の例です。 のドキュメントから。

というプラグイン可能なアプリを作成するとします。 "Rock ’n’ roll" というプラグイン・アプリを作成しているとします。

rock_n_roll アプリでは RockNRollConfig AppConfig クラスを作成します。

#rock_n_roll/apps.py
from django.apps import AppConfig

class RockNRollConfig(AppConfig): # Our app config class
    name = 'rock_n_roll'
    verbose_name = "Rock ’n’ roll"

これをアプリケーションに読み込ませることで AppConfig サブクラスをデフォルトで読み込むようにすることができます。 default_app_config を指定することで rock_n_roll/__init__.py ファイルに記述します。

# rock_n_roll/__init__.py    
default_app_config = 'rock_n_roll.apps.RockNRollConfig'

これを行うことで RockNRollConfig が使われるようになります。 INSTALLED_APPS が含まれるだけです。 'rock_n_roll' . これによって AppConfig の機能を利用することができます。 INSTALLED_APPS の設定を更新する必要がありません。