2009-11-23 15 views
1

Je ne fais que commencer avec Python et je me suis entraîné jusqu'à présent dans l'interface IDLE. Maintenant, je voudrais configurer Python avec MAMP afin que je puisse commencer à créer des applications web vraiment basiques - en utilisant Python en HTML, ou bien, et vice-versa. (Je suppose que le HTML est autorisé en Python, tout comme PHP?) Sinon, existe-t-il des modules/moteurs de template pour cela?)Python pour les scripts web

Quels modules dois-je installer pour exécuter .py depuis mon hôte local? Googling un peu, il semble qu'il existe différentes méthodes - mod_python, FastCGI etc .. que dois-je utiliser et comment l'installer avec MAMP Pro 1.8.2?

Un grand merci

Répondre

2

je pense que probablement la meilleure façon pour vous de commencer est de travailler avec quelque chose comme Django. C'est une pile de développement Web de haut en bas qui vous fournit tout ce dont vous avez besoin pour développer et exécuter un serveur dorsal. Les choses peuvent être très simples dans ce monde, pas besoin de jouer avec mod_python ou FastCGI sauf si vous en avez vraiment besoin.

Il est également agréable car elle est conforme à WSGI, qui est un standard de Python qui vous permet de brancher ensemble les bits non apparentés de code réutilisable pour ajouter des fonctionnalités spécifiques à votre application web en cas de besoin (disons par exemple on-the-fly gzip compression ou OpenID authentification). Une fois que vous avez dépassé la pile Django par défaut, ou que vous voulez changer quelque chose de spécifique, vous pouvez descendre cette route si vous le souhaitez.

Voici quelques conseils pour vous aider à démarrer. Vous pouvez également regarder d'autres frameworks alternatifs tels que TurboGears ou paste si vous le souhaitez mais Django est un excellent moyen de mettre en place quelque chose rapidement. Quoi qu'il en soit, je suis sûr que vous apprécierez l'expérience: WSGI fait un vrai bonheur en frappant les applications web avec la richesse du code Python que vous trouverez sur le web.

[edit: vous trouverez peut-être utile de voir d'ici mai Django related questions sur pile débordement si vous avez un problème]

+1

Mais, euh, je suis un débutant absolu alors j'ai pensé que je commencerais avec quelque chose de vraiment basique et ensuite je passerais à Django. Dites-vous que Django est plus facile à utiliser que d'écrire du code HTML manuellement en Python? Je dois vérifier alors! :) – 3zzy

+2

Absolument: allez suivre le tutoriel que j'ai lié: il vous permettra de lancer quelque chose hors de la boîte en quelques minutes. Beaucoup plus facile que d'avoir à comprendre la pile de haut en bas. Et il est écrit d'une manière qui vous donne beaucoup de place pour grandir une fois que vous en avez besoin. – jkp

+1

Oo! Il ne supporte pas encore Python 3. :( – 3zzy

0

Django est certainement pas la meilleure façon.

vérifier les pylônes. http://pylonshq.com/

également vérifier sqlalchemy pour les choses liées sql. Bibliothèque très cool. D'autre part, vous pouvez toujours commencer avec quelque chose de très simple comme mako pour la modélisation. http://www.makotemplates.org/

2

Vous avez demandé si le langage HTML est autorisé dans Python, ce qui indique que vous en pensez toujours trop en termes PHP. Contrairement à PHP, Python n'a pas été conçu pour créer des pages web dynamiques. Au lieu de cela, il a été conçu comme un langage de programmation autonome à usage général. Par conséquent, vous ne serez pas en mesure de mettre du code HTML dans Python. Il y a quelques bibliothèques de modèles qui vous permettent de faire le contraire, mais c'est un problème complètement différent. Avec des choses comme Django ou TurboGears ou tous les autres frameworks web, vous configurez essentiellement un petit serveur web autonome (livré avec le framework pour ne rien faire), dites le serveur dont la fonction doit gérer quelle URL puis écrire ces fonctions. Dans le cas le plus simple, chaque URL que vous spécifiez a sa propre fonction. Cette 'fonction de gestionnaire' (ou 'fonction de vue' dans la terminologie de Django) reçoit un objet de requête dans lequel des informations intéressantes sur la requête juste reçue sont contenues. Il effectue ensuite tout traitement requis (une requête DB par exemple). Enfin, il produit une sortie, qui est renvoyée au client.Une manière typique d'obtenir la sortie est d'avoir des données passées à un modèle où elles sont rendues avec du HTML. Ainsi, le code HTML est séparé dans un modèle (dans le cas typique) et ne figure pas dans le code Python. À propos de Python 3: Je pense que vous constaterez que la grande majorité de tous les développements Python qui se déroulent dans le monde se font toujours avec Python 2. *. Comme d'autres l'ont souligné ici, Python 3 sort tout juste, la plupart des bonnes choses ne sont pas encore disponibles, et vous ne devriez pas être dérangé à ce sujet.

Mon conseil: Attrapez Python 2.6 et Django 1.1 et plongez. C'est amusant.