ジャンゴ対TurboGearsの2 - TurboGearsの1の交換を選択する上の任意のアドバイスは?
-
12-09-2019 - |
質問
私は年の最後のカップルのための小さなサイトのプロトタイプを作成するためにTurboGearsの1を使用している、それが歯に少し長いなっています。 TurboGearsの2にアップグレードするか、Djangoのようなものへの切り替えの間の呼び出しを行う上の任意の提案?私はかなり応答性であるとDjangoを使用してはるかに大きいコミュニティ対かなり良いドキュメントを行うTGコミュニティの親しみやすさとの間で引き裂かれています。私はかなりの組み込みのCMSの機能とGoogle AppEngineのサポートに誘惑しています。
任意のアドバイスはありますか?
おかげ
.Mます。
解決
私はジャンゴとTG1.1の両方の経験を持っています。
IMO、TurboGearsの強力な点は、それがORMだです:SQLAlchemyの。物事のデータベース側が非自明であるとき、私はTurboGearsのを好むます。
DjangoのORMは、ちょうどその柔軟かつ強力ではありません。
言われていること、私は、Djangoのを好みます。データベーススキーマは、DjangoのORMとの良好なフィット感であれば、私はジャンゴとなるだろう。
私の経験では、TurboGearsのに比べてジャンゴを使用するには、単に少ない手間である。
他のヒント
TG2は、同様にかなり大きなコミュニティを持ってパイロンの上に構築されています。 TGはTG1に比べて速くなったし、それは、メソッドごとの(だけでなく、Webページ)のキャッシュエンジンを含みます。 私はそれがページがイースリーHTMLまたはJSONで公開できる方法によってジャンゴよりもAJAXフレンドリーだと思います。
2011更新:肥大化したフレームワークの3年後、私は http://bottlepy.org/
私は今年はDjangoを使用していると私が始めたとき、私はPythonやDjangoのの経験がなかったし、それは非常に直感的に使用することが分かっています。
私は趣味Google App Engineの数は最新のものは、自分のサイトのためのCMSであるとジャンゴを使用してアプリ作成しました。ジャンゴを使用すると、私はたくさんの迅速かつ多くのバグも少ないとをコーディングすることができたことを意味しています。
TG2でもmultimpleエラーメッセージとログインページのような、ややシンプル行うため、非常に複雑で混乱を招くように見えます TurboGearsの2.1ログイン機能を拡張する方法 私は...
なぜなら、モジュール内不節制のザッツを考えますDjangoのORMは、アクティブなレコードの実装を使用しています - あなたは、ほとんどのORMで、この実装が表示されます。基本的に何が意味することは、データベース内の各列を直接コードし、その逆のオブジェクトにマッピングされることです。そのようなDjangoのようなORMフレームワークはコードのプロパティを使用するスキーマを事前定義必要としません。フレームワークは、データベーススキーマを見て、構造を「理解」できるようあなたは、それらを使用しています。それは、テーブル内の特定の行にマッピングされていても、あなただけの、データベースにレコードを保存することができます。
SQLAlchemyのは、データ・マッパーの実装を使用する - 実装のこの種を使用する場合、データベース構造とオブジェクト構造(これらは1ない:アクティブ・レコードの実装のように1)との間の分離があります。ほとんどの場合、あなたは(たとえば、オブジェクトを保存するために)データベースと対話維持するために、別の永続化層を使用する必要があります。だからである(CON)Active Recordの実装を使用することができますときのように、あなただけのsave()メソッドを呼び出すことはできませんが、他の一方で、あなたはコードが機能するために、データベースの全体関係構造を知っている必要はありません。 、コードとデータベースとの間には直接的な関係がないので
だから、彼らのそれはこの戦いに勝ちましたか?無し。それはあなたが達成しようとしているものに依存します。それは私があなたのアプリケーションのほとんどがCRUD(作成、読み取り、更新、削除)がないハードと複雑なルールが異なるデータエンティティ間の関係に適用するためのアプリケーションであれば、あなたがアクティブレコードの実装(ジャンゴ)を使用するべきであると信じています。それはあなたが簡単かつ迅速に任意の手間をかけずに、お使いの製品のMVPを設定することができます。あなたがあなたのアプリケーションで、「ビジネスルール」と多くの制約がある場合は、それはあなたを縛っ厳密などのActive Recordはないと思うし、あなたを強制しないように、データ・マッパー・モデルとのより良いかもしれません。
アイブ氏は一つだけ疑問を持って...あなたが開発しているアプリは、ソーシャルネットワーキングに向けられています またはカスタマイズされたビジネスロジック?
私は個人的にはDjangoが本当にあなたの場合は、ソーシャルネットワーキングのために良好であり、パイロン/ TurboGearsの発見します 柔軟性と無境界をしたい...
ちょうど私の2cと