Voir plus de warnings dans la console Django

Ce billet date de plusieurs années, ses informations peuvent être devenues obsolètes.

Depuis Python 2.7 (et 3.2) les warnings de catégorie DeprecationWarning sont passés sous silence par défaut.

Django a décidé de continuer à les afficher dans la console. Plus tard, Django a aussi adopté une nouvelle nomenclature en utilisant des sous-classes de DeprecationWarning.

Du coup, si votre configuration de logging est correcte, vous devriez voir par défaut dans la console toutes les alertes de catégorie DeprecationWarning en Django 1.6 et toutes les alertes de catégorie RemovedInNextVersionWarning avec une version de Django ultérieure.

Si vous avez envie d'en voir davantage vous pouvez lancer un runserver en passant l'option -Wd (raccourci pour -Wdefault) à l'interpréteur Python :

python -Wd manage.py runserver

Si vous utilisez django-admin vous avez la possibilité d'utiliser la variable d'environnement PYTHONWARNINGS (dans votre postactivate par exemple) :

export PYTHONWARNINGS="default"

Et pour faire la même chose par programmation :

warnings.simplefilter('default')

Pour en savoir plus sur les warnings et les configurations possibles vous pouvez lire warnings – Non-fatal alerts.

Avant Sélecteurs CSS Après Itérateurs en Python

Tag Kemar Joint