12

私はMongoDBをプライマリ(そして今のところ)データベースとして使用しています.Googleとそれが提供するリンクのために、DjangoとPyramidの間で混乱しています。

私はpythonに慣れていますが、pythonでWeb開発を行ったことはありません(PHPで行ったことがあります)。今、私はMongoを使用するので、Django ORMを使用しないので、人々がDjangoに関連付ける開発の容易さを奪いますか?

私は Django を初めて使用するので (ほんの数時間)、ORM がフレームワークのどの部分に影響するかわかりません。

または、django fork django-noreldjango mongodb エンジンを使用する必要があります (ただし、これらは積極的にメンテナンスされていません)。または、テンプレート レイヤーとして jinja2 を使用する予定であるため、Pyramid を使用する必要があります。

これらのバッテリを django から削除した後も、それが締め切りのある人々のためのフレームワークであるというのは本当ですか?

アドバイス?

4

3 に答える 3

12

1、2年前、私は高性能Webアプリケーションを構築するためにdjangoとpyramid w/mongodbのどちらかを決定していました。私は最終的にピラミッドを選びました:

長所:

  • ピラミッドは、フルスタックフレームワークとしては非常に軽量です。内部で起こっている「魔法」の量はごくわずかです。すべてのピースに頭を巻くことができました。
  • Djangoほど意見が分かれていません。必要なテンプレートエンジンやデータベースを比較的簡単にプラグアンドプレイできます。
  • 他のフルスタックフレームワークに対するPyramid間のパフォーマンスベンチマークに感銘を受けました。
  • 100%のコードカバレッジと「食べたものだけを支払う」というPylons / Pyramidの文化は、私自身の開発スタイルに魅力的でした。

短所:

  • コミュニティは成長していますが、それでもDjangoほど成熟していません
  • たくさんのドキュメントがありますが、そこにあるいくつかのDjangoドキュメントほど堅牢ではありません
  • 「魔法」の欠如と初心者向けのドキュメントは、より急な学習曲線になります。

MongoDBでORMを使用する場合; 最初は1つなしで構築してみることをお勧めします。いくつかのmongodbORMを試した後、検証のためにColanderまたはValidictoryを使用してプレーンなpymongoに戻ることになりました。Pymongoはすでに非常にORMに似ており、高速で柔軟性があります。抽象化の余分なレイヤーがその柔軟性を奪い、必要以上のコードを書くようになったと感じました。

于 2012-11-02T20:08:10.393 に答える
9

言及されていない代替案を提案します: Flask。Flask には (Django よりは小さいものの) 非常に優れたコミュニティがあり、拡張機能ディレクトリには、一般的な Web アプリ拡張機能に使用できる拡張機能が多数あります。

MongoDB をフレームワークに統合するのに役立つ Flask 用の MongoDB 拡張機能がいくつかありますが、mongoengine ORM も強くお勧めします。mongoengine に取り組んでいる人の 1 人が、Flask 統合の拡張機能であるFlask-MongoEngineをリリースしました。

于 2012-11-01T22:33:09.033 に答える
4

すべて(Django、Pyramid、Flask)を試して、ドキュメントを読んでください。Djangoを選択する場合、その一部(orm、formlib)は使用せず、それだけです。

このビデオも参照してください: https ://www.10gen.com/presentations/mongosf-2011/mongodb-with-python-pylons-pyramid

于 2012-11-02T08:26:17.513 に答える