web-dev-qa-db-fra.com

Comment puis-je imprimer le contenu de mes paramètres dans un shell Django?

Quand je lance python manage.py Shell, je peux imprimer le chemin python

>>> import sys
>>> sys.path

Que dois-je taper pour inspecter tous mes paramètres Django?

36
Frankie Ribery
from Django.conf import settings
dir(settings)

puis choisissez attribut parmi ce que dir(settings) vous a montré:

settings.name

name est l'attribut qui vous intéresse

Alternativement:

settings.__dict__

affiche tous les paramètres. Mais il imprime également les attributs standard du module, ce qui peut en quelque sorte encombrer la sortie.

45
pajton

Je sais que c'est une vieille question, mais avec les versions actuelles de Django (1.6+), vous pouvez accomplir cela à partir de la ligne de commande de la manière suivante:

python manage.py diffsettings --all

Le résultat affichera tous les paramètres, y compris les paramètres par défaut (indiqués par ### devant le nom du paramètre). 

36
Noah Abrahamson

Pour afficher tous les paramètres Django (y compris les paramètres par défaut non spécifiés dans votre fichier de paramètres local):

from Django.conf import settings
dir(settings)
14
Vinod Kurup

Au cas où un débutant tomberait sur cette question en voulant être alimenté à la cuillère, indiquez le moyen d'imprimer les valeurs pour tous les paramètres:

def show_settings():
    from Django.conf import settings
    for name in dir(settings):
        print name, getattr(settings, name)
14
Skylar Saveland

Dans votre shell, vous pouvez appeler les commandes diffsettings : intégrées de Django.

from Django.core.management.commands import diffsettings

output = diffsettings.Command().handle(default=None, output="hash", all=False)

1
Nick S.