Question

J'utilise Turbogears 1 pour le prototypage de petits sites pour les deux dernières années, et il devient un peu long dans la dent. Toutes les suggestions sur faire l'appel entre la mise à niveau Turbogears 2 ou de passer à quelque chose comme Django? Je suis tiraillé entre la familiarité de la communauté TG qui sont très sensibles et faire assez bonne documentation par rapport à la communauté beaucoup plus vaste en utilisant Django. Je suis tout à fait laissé tenter par les fonctions CMS intégrées et le soutien de Google AppEngine.

Un conseil?

Merci

.M.

Était-ce utile?

La solution

J'ai de l'expérience à la fois Django et TG1.1.

OMI, point fort est TurboGears il est ORM: SQLAlchemy. Je préfère TurboGears lorsque le côté de la base de données des choses est non trivial.

ORM de Django est tout simplement pas flexible et puissant.

Cela étant dit, je préfère Django. Si le schéma de base de données est un bon ajustement avec ORM de Django j'aller avec Django.

Dans mon expérience, il est tout simplement moins de tracas à utiliser Django par rapport à TurboGears.

Autres conseils

TG2 est construit au-dessus de Pylônes qui a une communauté assez importante aussi bien. TG a obtenu plus rapide par rapport à TG1 et il comprend un moteur de mise en cache par méthode (et pas seulement des pages Web). Je pense qu'il est plus convivial que AJAX Django par les pages ainsi peuvent être easly publiées en HTML ou JSON.

2011 Mise à jour: après 3 ans de cadres boursouflés Je suis un utilisateur heureux de http://bottlepy.org/

J'utilise Django depuis un an maintenant et quand j'ai commencé, je n'avais aucune expérience de Python ou Django et trouvé très intuitif à utiliser.

J'ai créé un certain nombre de hobbyiste applications Google App Engine à l'aide de Django avec la dernière étant un CMS pour mon site. Utiliser Django signifie que je suis capable de coder beaucoup plus rapidement et avec beaucoup moins de bugs.

suis sûr que vous avez lu de beaucoup de comparaison entre TurboGears et django sur le web.

Mais comme pour votre tentation sur le CMS et GAE, je peux vraiment penser que vous avez obtenu d'aller bien django. Vérifiez ces résultats et de décider youself.

Django avec GAE

Django CMS

TG2 semble bien compliqué et confus, même pour faire un peu simple comme une page de connexion avec des messages d'erreur multimple Comment étendre la fonctionnalité connexion Turbogears 2.1 Je pense que c'est parce que l'intempérance modularité ...

Django ORM utilise l'implémentation d'enregistrement actif - vous verrez cette mise en œuvre dans la plupart des ORM. Fondamentalement, ce que signifie que chaque ligne de la base de données est directement mis en correspondance avec un objet dans le code et vice-versa. cadres ORM tels que Django ne nécessitent pas prédéfinir le schéma d'utiliser les propriétés dans le code. Vous venez de les utiliser, comme le cadre peut « comprendre » la structure en regardant le schéma de base de données. , Vous pouvez simplement enregistrer également l'enregistrement à la base de données, car il est mis en correspondance avec une ligne spécifique dans le tableau.

SQLAlchemy utilise l'implémentation Data Mapper - Lorsque vous utilisez ce type de mise en œuvre, il y a une séparation entre la structure de base de données et la structure des objets (ils ne sont pas 1: 1 comme dans la mise en œuvre de Active Record). Dans la plupart des cas, vous devrez utiliser une autre couche de persistance pour maintenir la base de données avec Interact (par exemple, pour enregistrer l'objet). Donc, vous ne pouvez pas appeler la méthode save () que vous pouvez lors de l'utilisation de la mise en œuvre de Active Record (qui est un con), mais d'autre part, votre code ne doit pas connaître l'ensemble de la structure relationnelle dans la base de données pour fonctionner , car il n'y a pas de relation directe entre le code et la base de données.

Alors, qui d'entre eux gagne cette bataille? Aucun. Cela dépend de ce que vous essayez d'accomplir. Il est mon avis que si votre application est la plupart du temps un CRUD (Create, Read, Update, Delete) application qui règles Rigide et complexes à appliquer sur les relations entre les différentes entités de données, vous devez utiliser l'implémentation de Active Record (Django). Il vous permettra de facilement et rapidement mettre en place un MVP pour votre produit, sans aucun tracas. Si vous avez beaucoup de « règles commerciales » et les restrictions dans vos applications, vous pourriez être mieux avec le modèle Data Mapper, car il ne vous attacher et vous forcer à penser strictement comme Active Record fait.

Ive seulement a une question ... est l'application que vous développez dirigé vers les réseaux sociaux   ou la logique métier sur mesure?

Personnellement, je trouve Django est bon pour les réseaux sociaux et / Pylônes Turbogears si vous avez vraiment   veulent la flexibilité et pas de frontières ...

juste mon 2c

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top