À quoi sert apps.py dans Django 1.9?


Réponses:


136

Objet du apps.pydossier:

Ce fichier est créé pour aider l'utilisateur à inclure toute configuration d'application pour l'application. Grâce à cela, vous pouvez configurer certains des attributs de l'application.

De la Application Configurationdocumentation:

Les objets de configuration d'application stockent les métadonnées d'une application. Certains attributs peuvent être configurés dans les sous-classes AppConfig. D'autres sont définis par Django et en lecture seule.

Exemple tiré de la documentation:

Disons que vous créez une application enfichable appelée "Rock ’n’ roll", puis pour fournir un nom approprié à l'administrateur, nous pouvons faire ce qui suit:

Dans l' rock_n_rollapplication, nous créons une RockNRollConfigclasse 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"

Nous pouvons faire en sorte que votre application charge cette AppConfigsous - classe par défaut en spécifiant le default_app_configdans le rock_n_roll/__init__.pyfichier.

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

Faire cela entraînera RockNRollConfigà être utilisé lorsque INSTALLED_APPScontient juste 'rock_n_roll'. Cela nous permet d'utiliser des AppConfigfonctionnalités sans exiger de nos utilisateurs de mettre à jour leurs INSTALLED_APPSparamètres.


Malheureusement, je n'ai pas eu votre réponse
hspandher

2
without requiring our users to update their INSTALLED_APPS setting.: Qu'est-ce que cela signifie: Fondamentalement, si je ne le fais pas, default_app_config = 'rock_n_roll.apps.RockNRollConfig'je dois mentionner dans INSTALLED_APPSdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
Santhosh Yedidi

15

C'est l'endroit recommandé pour placer la configuration de votre application . Cette fonctionnalité existe depuis la version 1.7, mais pour promouvoir son utilisation et permettre une configuration plus facile, le apps.pyfichier a été ajouté au modèle d'application par défaut.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.