J'ai à peu près le même avis que Zeph (

)
Déjà, connais-tu un peu le Python ? ou connais-tu d'autres langages similaires ?
Pourquoi Python ?
Comme dit Bob, c'est plus cohérent, rapide, concis que PHP. Mais aussi : pas de mauvaises surprises (le == ne renvoie pas vrai quand les objets sont presque égaux), tu peux t'en servir pour tout (scripts système, web, applis lourdes, calcul raisonnablement intensif, ...), le langage est *très* souple (tu peux créer des classes à la volée, c'est pratique en SOAP).
Pourquoi Django ?
D'abord pour la rapidité de développement.
Je devais faire un programme pour enregistrer des livres, avec les auteurs correspondants. Deux classes à écrire (livres et auteurs) où je fais simplement la liste des attributs (titre, ISBN, ...), 3-4 lignes pour dire que je veux utiliser l'interface d'admin par défaut, et c'est à peu près tout pour le code. Django fournit une interface web déjà prête pour remplir les attributs, rechercher des objets, ... Pour faire une API REST ? Pas de problème, ça demande 10 lignes de plus à tout casser. Changer de SQLite en MySQL ? 5 lignes à changer pour remplir les coordonnées du MySQL.
Ensuite, la sécurité : impossible de faire des injections SQL, tu as des protections contre le click-jacking, les CSRF, très facile de protéger les pages, l'authentification est gérée par Django, ...
Pas besoin de réinventer la roue. Django offre beaucoup de choses, mais il y a aussi énormément de libs supplémentaires (tastypie pour faire l'API REST, support de LDAP ou MongoDB dans l'ORM, ...
http://www.djangopackages.com pour plus d'infos).
En plus, tu peux faire des scripts en ligne de commande pour interagir avec la base de données, ça évite de faire des curl dans des cron ^^