J'ai commencé à apprendre Python à l'aide de la mise en œuvre IronPython. J'aimerais faire du développement Web maintenant. Je recherche un cadre de développement Web Python qui fonctionne sur la pile de technologies Microsoft (IIS + MS SQL Server). Django ressemble à un cadre intéressant, mais basé sur ce que j'ai lu, le faire travailler sur la pile technologique Microsoft semble très difficile ou impossible. P>
Je veux maigrir un cadre Web qui exploite des forces python, donc ASP.NET n'est pas une option ici. P>
Les raisons pour lesquelles je veux faire Python sur Full Microsoft Stack sont: p>
Toute recommandation? P>
3 Réponses :
Django fait en théorie exécuté sous Windows, mais en utilisant Apache et MySQL. Ce n'est pas possible (et certainement pas recommandé) de l'exécuter sur IIS. P>
Je sais que vous n'avez pas totalement posé cela, mais je dois vous conseiller que si vous voulez vraiment entrer dans le développement Web Python, une pile de technologies Linux est définitivement l'approche recommandée. :) p>
Voir Modifier à ma question initiale pour des raisons pour lesquelles je souhaite utiliser la pile MS.
tandis que peut-être pas entièrement mature, ISAPI-WSGI ressemble à une manière prometteuse Pour exécuter la couche intermédiaire de WSGI sur IIS (je n'ai aucune expérience pratique avec elle, mais cela semble valoir la peine d'essayer!). Une fois que vous avez WSGI en cours d'exécution à propos de tout cadre Web Python, y compris Django, devrait courir sur le dessus (mon favori personnel est Werkzeug , une Django-MSSQL doit laisser Django à courir bien sur SQL Server et semble raisonnable mature (encore une expérience pratique). Si vous préférez une mappeuse plus sophistiquée Obj-relationnelle, SQLALCHEMY Prévoyance à prendre en charge MS-SQL "hors de la boîte" avec des restrictions mineures (par exemple, pas plus d'une colonne code> identité code> par table). P>
Si vous voulez coller avec IronPython, mais peut vivre avec SQLite au lieu de MS-Server, il devrait également être possible d'utiliser Django sur IronPython avec IIS. P>
@Alex: J'avais déjà lu Poste de Jeff sur tentative d'exécuter des tests Django sur IronPython / IIS. Selon son poste, cela n'a pas fonctionné. S'il ne pouvait pas exécuter les tests, je suppose qu'il ne peut pas non plus utiliser le cadre. À droite?
@ALEX: Les deux premières options que vous avez décrites ne fonctionnaient que avec CPPHON. À droite? C'est une option que je vais examiner si je ne peux vraiment pas obtenir un cadre de développement Web pour travailler sur IronPython.
@Sly, en général, oui - Sans les tests, vous ne pouvez difficil que des aspects spécifiques du cadre comme prévu (certaines parties peuvent fonctionner, mais il est quelque peu frappé - et manque de savoir si cela inclut toutes les pièces dont vous avez besoin). Aussi oui, j'ai commencé avec des options CPPHON (que je suppose que vous avez une meilleure chance de passer des tests pertinents).
Travailler avec la pile MS complète sera difficile, car pas beaucoup de frameworks de fil y aqueux. Vous aurez bonne chance avec une approche WAMP (Windows / Apache / MySQL-PostgreSQL / Python). P>
Cela étant dit, Django fonctionne sous Windows, et même peut être effectué pour travailler sous IIS A > En utilisant pyisapie et MS SQL serveur A > Soutien. P>
Turbogears peut également être installé sur Windows et a
essayer d'utiliser -amper sous Windows peut parfois être un exercice dans le masochisme. Cela peut être fait, mais utiliser ces cadres sous Linux / BSD est beaucoup plus facile et agréable. Vous devriez certainement l'essayer. P>
Si l'OP a l'intention de créer un lien vers .NET bien que Python à l'aide de IronPython, quelle dose d'implications qui créent avec l'utilisation de ce code dans Django?
@ Smith325: Si le projet est entièrement fabriqué à IronPython, vous pourriez avoir le risque de rupture de choses si vous essayez de suivre le coffre de Django en raison de l'inexistance possible d'une partie de la bibliothèque standard de Python. Autre que cela (et ayant des maux de tête avec la couche ORM), il ne devrait y avoir aucune autre implication, à l'exception de la possibilité d'utiliser la bibliothèque de .NET et d'autres composants existants, mais vous pouvez obtenir un résultat similaire en utilisant Python pour .NET