Quel est le but de apps.py dans Django 1.9?

Je viens de passer en revue les notes de version alpha pour Django 1.9 et j'ai vu que la commande de gestion startapp ajoute maintenant un apps.py fichier .

Quel est le but de ce fichier? La documentation startapp n'a pas fourni plus d'informations.

100
demandé sur LaundroMat 2015-09-26 11:39:11

2 réponses

Le But de apps.py fichier:

Ce fichier est créé pour aider l'utilisateur à comprendre toute configuration de l'application pour l'application. En utilisant cela, vous pouvez configurer certains des attributs de l'application.

De Application Configuration documentation:

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éfini par Django et en lecture seule.

Exemple des documents :

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

Dans rock_n_roll app, Nous créons une classe 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"

Nous pouvons faire en sorte que votre application charge cette sous-classe AppConfig par défaut en spécifiant le default_app_config dans le fichier rock_n_roll/__init__.py.

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

Cela entraînera l'utilisation de RockNRollConfig lorsque INSTALLED_APPS contient simplement 'rock_n_roll'. Cela nous permet d'utiliser les fonctionnalités AppConfig sans exiger que nos utilisateurs mettent à jour leur paramètre INSTALLED_APPS.

100
répondu Rahul Gupta 2015-09-26 09:01:11

C'est l'endroit recommandé pour mettre votre Configuration de l'application. Cette fonctionnalité existe depuis 1.7, mais pour promouvoir son utilisation et faciliter la configuration, le fichier apps.py a été ajouté au modèle d'application par défaut.

11
répondu knbk 2015-09-26 08:43:00