Acabo de ir sobre las notas de la versión alfa para Django 1.9 y vio que el startapp
comando de gestión ahora añade un archivo apps.py .
¿Cuál es el propósito de este archivo? La documentación de startapp no proporcionó más información.
Acabo de ir sobre las notas de la versión alfa para Django 1.9 y vio que el startapp
comando de gestión ahora añade un archivo apps.py .
¿Cuál es el propósito de este archivo? La documentación de startapp no proporcionó más información.
Propósito del apps.py
archivo:
Este archivo se crea para ayudar al usuario a incluir cualquier configuración de la aplicación. Con esto, puede configurar algunos de los atributos de la aplicación.
De la Application Configuration
documentación:
Los objetos de configuración de la aplicación almacenan metadatos para una aplicación. Algunos atributos se pueden configurar en las subclases de AppConfig. Otros son configurados por Django y de solo lectura.
Ejemplo de los documentos:
Digamos que está creando una aplicación conectable llamada "Rock ’n’ roll"
, luego para proporcionar un nombre apropiado para el administrador, podemos hacer lo siguiente:
En la rock_n_roll
aplicación, creamos una RockNRollConfig
clase 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"
Podemos hacer que su aplicación cargue esta AppConfig
subclase de forma predeterminada especificando default_app_config
en el rock_n_roll/__init__.py
archivo.
# rock_n_roll/__init__.py
default_app_config = 'rock_n_roll.apps.RockNRollConfig'
Hacer esto hará RockNRollConfig
que se use cuando INSTALLED_APPS
solo contiene 'rock_n_roll'
. Esto nos permite hacer uso de AppConfig
funciones sin requerir que nuestros usuarios actualicen su INSTALLED_APPS
configuración.
without requiring our users to update their INSTALLED_APPS setting.
: ¿Qué significa esto? Básicamente, si no lo hagodefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
, tengo que mencionarlo en INSTALLED_APPSdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
Es el lugar recomendado para colocar la configuración de su aplicación . Esta característica ha estado aquí desde 1.7, pero para promover su uso y permitir una configuración más fácil, el
apps.py
archivo se ha agregado a la plantilla de aplicación predeterminada.fuente