Frage

Ich habe mit Turbogears 1 für Prototyping kleine Standorte für den letzten paar Jahren, und es ist ein wenig in die Jahre gekommen zu bekommen. Irgendwelche Vorschläge auf, so dass die Verbindung zwischen dem Upgrade auf 2 Turbogears oder die Umstellung auf so etwas wie Django? Ich bin zwischen der Vertrautheit der TG-Gemeinschaft zerrissen, die ziemlich reagieren und tun ziemlich gute Dokumentation vs der weit größeren Gemeinschaft mit Django. Ich bin ganz von den eingebauten in CMS-Funktionen und die Google App Engine-Unterstützung versucht.

Jede Beratung?

Danke

.M.

War es hilfreich?

Lösung

Ich habe Erfahrung mit sowohl Django und TG1.1.

IMO, Turbogears Stärke ist es ORM: SQLAlchemy. Ich ziehe Turbogears, wenn die Datenbank-Seite der Dinge ist nicht trivial.

Django ORM ist einfach nicht so flexibel und leistungsstark.

Dass gesagt wird, ziehe ich Django. Wenn das Datenbankschema ist eine gute Passform mit Django ORM ich mit Django gehen würde.

Nach meiner Erfahrung ist es einfach weniger Aufwand Django verwenden im Vergleich mit Turbogears.

Andere Tipps

TG2 ist oben auf Pylonen aufgebaut, die auch eine ziemlich große Gemeinschaft. TG wurde schneller TG1 verglichen, und es enthält eine pro-Methode Motor-Caching (nicht nur Web-Seiten). Ich denke, es ist mehr AJAX freundlicher als Django durch die Art und Weise Seiten können easly in HTML oder JSON veröffentlicht.

2011 Update: nach 3 Jahren aufgebläht Frameworks Ich bin ein glücklicher Benutzer von http://bottlepy.org/

Ich habe ein Jahr lang Django werde jetzt mit und als ich anfing, hatte ich keine Erfahrung mit Python oder Django und fand es sehr intuitiv zu bedienen.

Ich habe eine Reihe von Hobbyisten Google App Engine Apps mit Django mit der neuesten man ein CMS für meine Website erstellt wird. Unter Verwendung von Django hat dazu geführt, dass ich in der Lage gewesen viel schneller und mit viel weniger Fehlern zu codieren.

Ist ich sicher, Sie vielen Vergleich zwischen Turbogears und DJANGO auf Web gelesen hätten.

Aber wie für Ihre Versuchung auf CMS und GAE, kann ich wirklich, dass man django Weg zu gehen habe. Überprüfen Sie diese aus und entscheiden youself.

Django mit GAE

Django für CMS

TG2 scheint viel kompliziert und verwirrend, auch für mit multimple Fehlermeldungen etwas Einfaches wie eine Login-Seite zu tun Wie die Turbogears 2.1 Login-Funktionalität erweitern Ich denke, das ist, weil die Unmäßigkeit in Modularität ...

Django ORM verwendet die aktive Datensatz Implementierung - Sie diese Implementierung in den meisten ORMs sehen werden. Im Allgemeinen, was es bedeutet, ist, dass jede Reihe in der Datenbank direkt zu einem Objekt in dem Code und umgekehrt abgebildet wird. ORM-Frameworks wie Django nicht erforderlich Vorgeben das Schema die Eigenschaften im Code zu verwenden. Sie verwenden sie nur, wie der Rahmen kann ‚verstehen‘ die Struktur, indem das Datenbankschema suchen. Auch Sie können nur den Datensatz in die Datenbank speichern, wie es zu einer bestimmten Zeile in der Tabelle abgebildet wird.

SQLAlchemy verwendet die Data Mapper Implementierung - Bei dieser Art der Implementierung verwendet wird, gibt es eine Trennung zwischen der Datenbankstruktur und den Objekten Struktur (sie nicht 1 sind: 1, wie in der Active Record-Implementierung). In den meisten Fällen werden Sie eine andere Persistenz-Schicht zu halten interact mit der Datenbank (zum Beispiel das Objekt zu speichern) zu verwenden. So können Sie nicht nur die Methode speichern () aufrufen, wie Sie können, wenn die Active Record Umsetzung mit (was ein Nachteil ist), aber auf der anderen Seite, Sie Code muss nicht die gesamte relationale Struktur in der Datenbank kennen zu funktionieren , da es keine direkte Beziehung zwischen dem Code und der Datenbank.

Also, wer von ihnen gewinnt diesen Kampf? Keiner. Es hängt davon ab, was Sie erreichen wollen. Es ist meine Meinung, dass, wenn Ihre Anwendung eines meist ein CRUD (Create, Read, Update, Delete) ist die Anwendung, die keine harten und komplexe Regeln über die Beziehungen zwischen den verschiedenen Dateneinheiten anwenden, sollten Sie die Active Record-Implementierung (Django) verwenden. Es ermöglicht Ihnen, schnell und einfach ein MVP für Ihr Produkt, ohne Aufwand einrichten. Wenn Sie eine Menge von „Geschäftsregeln“ und Einschränkungen in Ihre Anwendungen haben, können Sie besser mit dem Modell Data Mapper, wie es Ihnen nicht binden wird und Sie zwingen, streng zu denken, wie Active Record der Fall ist.

Ive erhielt nur eine Frage ... ist die Anwendung, die Sie auf Social-Networking gerichtet entwickeln   oder kundenspezifische Geschäftslogik?

Ich persönlich finde Django für Social Networking ist gut und Pylonen / turbogears wenn Sie wirklich   will die Flexibilität und keine Grenzen ...

nur meine 2c

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top