Déjà il faut distinguer deux choses : le langage de programmation Python, qui permet de faire plein de choses dont des sites web, et le framework Django qui fournit un tas d'outils pratiques pour simplifier la réalisation de sites web.
Pour ma part, autant je trouve que Python est un excellent langage de script, autant je suis beaucoup plus mitigé concernant Django. Mais après en avoir parlé avec Flanker il y a une semaine, il parait que ça s'est beaucoup amélioré dernièrement et que les principaux reproches que je lui faisais il y a ~1 an ont été corrigés.
Du coup pour répondre très rapidement à tes questions en attendant de plus précises :
- Pourquoi Python ?
=> Parce que c'est un langage bien plus cohérent, concis et rapide que PHP*, qui te permettra de coder proprement sans te demander comment hacker ton propre code pour qu'il ne soit pas trop lent à l'exécution et de disposer d'une énorme quantité de bibliothèques standard pour coder à peu près n'importe quoi de façon portable.
- Pourquoi Django ?
=> Parce qu'à condition de coller très strictement à la façon que te propose Django de réaliser un site web, tu iras beaucoup plus vite qu'en faisant tout à la main. Django te propose grosso modo la même chose que la majorité des frameworks web PHP (Symphony & co), à savoir une façon rigoureuse d'organiser et séparer ton code, un ORM (très bien pensé), un moteur de template (un peu moins bien pensé), un mécanisme de routage url <=> page, et une flopée de modules pour toutes les choses très communes dans un site web (pages d'administration auto-générées, gestion des utilisateurs, authentification & contrôle d'accès, etc.).
Flanker aura surement un point de vue plus complet, mais le mieux serait surement que tu commences à regarder à quoi ressemble Python, puis que tu lises dans un second temps les tutos Django qui sont plutôt bien foutus
* : c'est bien sûr un avis perso, à part en ce qui concerne la vitesse d'exécution où il n'y a vraiment pas photo ^^