私はちょうど上で行ったDjangoの1.9のアルファリリースノートといるのを見ましたstartapp管理コマンドは、今apps.pyファイルを追加します。
このファイルの目的は何ですか?startappのドキュメントには、より多くの情報を提供していませんでした。
私はちょうど上で行ったDjangoの1.9のアルファリリースノートといるのを見ましたstartapp管理コマンドは、今apps.pyファイルを追加します。
このファイルの目的は何ですか?startappのドキュメントには、より多くの情報を提供していませんでした。
回答:
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設定を更新しなくても機能を利用できます。
without requiring our users to update their INSTALLED_APPS setting.:これはどういう意味ですか:基本的にdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'私がしなければ、INSTALLED_APPSで言及する必要がありますdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
これは、アプリケーション構成を配置するための推奨される場所です。この機能は1.7以降で使用apps.pyされていますが、その使用を促進し、構成を容易にするために、ファイルはデフォルトのアプリテンプレートに追加されています。