71 votes

Ce qui est une bonne léger Python framework MVC?

Je sais qu'il y a une tonne de Python cadres. Pouvez-vous les gars me pointer dans la bonne direction? Mon principal souci de simplicité, je n'ai pas besoin de beaucoup d'entités étrangères. Voici quelques autres choses que je veux (ou ne voulez pas):

  • ne se soucient pas de l'ORM, je veux juste qu'il fonctionne avec MySQL
  • a configurables routes
  • a l'appui pour la mise en page

44voto

massimo Points 2362

web2py est 265Kbytes de code source et de 1,2 MO all inclusive (comparer avec 4,6 MO de Django). Pourtant, web2py va faire tout ce dont vous avez besoin (gestion de session, les cookies, requête, réponse, le cache, l'internationalisation, les erreurs/billets, abstraction de base de données pour GAE, SQLite, MSSQL, MySQL, Postgres, Oracle, FireBird, etc.) Il n'a pas besoin d'installation il suffit de décompresser et de cliquer dessus et vous pouvez effectuer des travaux d'aménagement dans votre navigateur.

Web2py a deux voies et d'inverser les routes.

Web2py est un modèle hiérarchique des systèmes qui signifie d'un point de vue peut s'étendre d'une mise en page qui peut s'étendre d'un autre modèle, etc. les vues peuvent également inclure d'autres points de vue.

31voto

Kevin Dangoor Points 1533

Depuis que vous avez explicitement ne veux pas d'un ORM, je voudrais rester à l'écart à partir d'un "full stack" du cadre, si j'étais vous. Python standard WSGI vous donne une tonne de facile-à-utiliser des options qui vont vous donner uniquement les fonctionnalités dont vous avez besoin et même vous permettre de choisir votre style de travail.

Voici un exemple: pour l'URL de l'expédition, vous pouvez utiliser les Routes, les ports sur l'URL d'expédition style de Rails. Ou vous pouvez combiner Sélecteur avec WebOb si ce style vous convient le plus.

Pour les "mises en page", vous pouvez utiliser le puissant Jinja2 si vous voulez des modèles qui ne peuvent pas exécuter de code. Ou, Mako si vous préférez être en mesure de mélanger un peu de code dans vos modèles. Vous pouvez même utiliser la Délivrance de contrôler la mise en page des pages qui sont composés de plusieurs applications et même plusieurs langues!

Un full-stack web cadre est agréable en ce qu'elle fait un tas de choix pour vous, vous permettant de payer attention juste à l'application de votre bâtiment. Mais, le choix que j'ai énumérés ci-dessus sont une bonne collection pour vous allez construire votre propre. Si vous vous dirigez en bas de ce chemin, vous trouverez qu'il est facile à brancher dans le Bécher pour la mise en cache et les sessions si vous en avez besoin, ou WebError pour vous aider au débogage.

Personnellement, je suis un grand fan de l'Orm (en particulier SQLAlchemy), mais si vous cherchez à faire de l'ORM gratuit et léger dans l'ensemble, vous ne pouvez pas battre combinant les grandes WSGI les composants sont disponibles en Python.

9voto

habnabit Points 4245

Des pylônes.

C'est beaucoup mieux que de django, et ne vient pas avec une merde ORM.

8voto

zgoda Points 8549

Les gens ont déjà donné beaucoup de réponses concernant les frameworks d'applications web, mais MVC (ou tout autre paradigme) n'est pas lié à web seulement. C'est juste pour plus de clarté.

Si vous êtes sur la plaine MVC, Pylônes conforme au paradigme dans le plus strict. Django reinhardt, interprète MVC et ils l'appellent modèle-modèle-vue, mais l'idée de la séparation des rôles est la même. Choix est une question de goût personnel, bien qu'aucun de ces deux que je considère lightweigth (Pylônes peut sembler léger, mais en fait ne l'est pas, et récemment Django rassemblé certains poids supplémentaire - le plus probable, vous ne serez pas en forme, même petite application comme un blog personnel en 20MB résident de mémoire).

Bien sûr, rien ne vous empêche de rédiger votre propre cadre de référence, par exemple. avec WebOb. Vous pouvez le rendre aussi léger que vous le souhaitez (et d'apprendre beaucoup de choses à essayer).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X