Quelques outils utiles pour django sous Ubuntu - "Debugging"
Travaillant désormais depuis plus de neuf mois avec le framework django sur le prochain logiciel Opquast, je me permets, aujourd'hui, de fournir très modestement quelques retours d'expérience. Naturellement, toutes les étapes, les logiciels présentés ci-dessous sont compatibles avec la distribution Ubuntu. Pour MacOsX de simples adaptations semblent suffisantes, enfin pour Windows je vous laisse canoter. Cet article présente l'ensemble des outils me permettant de "débugger", tester plus rapidement du code "django / python".
Attention, l'ensemble des manipulations qui vont suivre peuvent rendre votre système d'exploitation Ubuntu instable. L'utilisation du compte admistrateur (commande sudo
...) suscitent des risques pour lequel je décline toute responsabilité.
Le terminal python de base
De base, Django fournit un outil, certes basique mais ô combien utile, le "TERMINAL". Ce dernier se lance via la commande python manage.py shell
, uniquement si django est installé . Via l'interpréteur intéractif, le shell ou terminal, vous pouvez tout tester, instanciation de classe, concaténation de chaine, boucle for, conditions... Très rapidement on se rend compte qu'il manque : la coloration syntaxique pour s'y retrouver, un historique des commandes précédemment tapées, les bons imports initiaux, l'indentation automatique, la complétion. Bref on est face au bon vieux terminal type MS-DOS (allez, ...en un peu mieux).
Installation ipython
Il manque l'indentation automatique, l'historique, la complétion des objets, la coloration, aucun problème installez ipython via synaptic ou via la bonne vieille commande habituelle sudo aptitude install ipython
. Aucune configuration supplémentaire l'interpréteur python est automatiquement "amélioré" tout comme l'interpréteur django, en effet ce dernier repose sur celui de python.
Mise à jour de django shell vers django shell_plus
- Télécharger le pack contenant shell_plus à l'adresse django-command-extensions
- Dézipper l'archive précédemment récupérés
- Via un terminal, tapez la commande
sudo python setup.py install
(cela fonctionne si django a été installé de la même manière, ou est situé dans/usr/local/lib/python2.6/dist-packages/
)
Au lancement de la commande l'ensemble des modules déclarés dans votre fichier de configuration settings.py
sont automatiquement chargés, voir screenshot ci-dessus. On gagne un temps incroyable
Connaître les attributs et les méthodes d'un objet
Cette solution est très simple, mais pour l'instant je n'ai pas trouvé mieux.
- Démarrez un terminal django : python manage.py shell_plus
- Instancier votre objet : article = Article()
- Saisissez article. puis appuyer sur la touche "Tabulation de votre clavier", le terminal liste ainsi l'ensemble des attributs, méthodes disponibles
Guake : Un terminal toujours sous la main
Enfin pour aller plus loin, je vous renvoie à l'installation de l'excellent terminal guake via sudo apt-get install guake
. Guake via le raccourci "F12" est disponible depuis n'importe quel bureau, hautement pratique, surtout si comme moi, vous utilisez plusieurs bureaux.