2012-11-01 8 views
12

私はMongoDBを私のプライマリ(今までは)データベースとして使用しています。 DjangoとPyramidの間で混乱しています。これはPythonのWebフレームワーク(djangoまたはdjango-norelまたはpyramid)をMongoDBがデータベースとして使用されているときに使用する

私はPythonには満足していますが、PythonでWeb開発を行ったことはありません(私はPHPで行っています)。私はMongoを使用しているので、Djangoを使用することはありません.ORMはDjangoに関連する開発の容易さを取り除きますか?

私はDjangoの新機能です(わずか数時間)ので、ORMがどのフレームワークのどの部分に影響するのかよくわかりません。

は、または私がDjangoのフォークdjango mongodb enginedjango-norelで行く必要があります(彼らは積極的にかかわらず維持されていない)、または私はそれが私にはジャンゴの2部無用になりますので、私のテンプレート層としてJinja2の使用を計画しているので、私はピラミッドを使用する必要があります。

これらのバッテリをdjangoから削除した後も、締め切りのある人のためのフレームワークであることは変わりません。

アドバイス?

+0

Djangoの主な魅力は管理アプリです。非リレーショナルデータベースではあまり役に立ちません。フラスコも考慮する。 –

+1

正確に何を作りたいですか?他のより重要な要素が存在する可能性がある場合は、目的のデータストアのためだけにフレームワークを選択するのは愚かです。 –

+0

ORMやテンプレートエンジンを使用していないと思いますが、Djangoは使用しないでください。フラスコは素晴らしい選択肢のように聞こえる。 –

答えて

9

私は、言及されていない代替案を提案するつもりです:。 Flaskには本当に素晴らしい(Djangoよりも小さい)コミュニティがあり、一般的なWebアプリケーションの拡張機能には、extensions directoryの拡張機能がたくさんあります。

MongoDBをフレームワークに統合するのに役立つFlask用のいくつかのMongoDB拡張がありますが、私はまたmongoengine ORMを強く推奨します。 mongoengineに取り組んでいる人の一人がフラスコの統合のための拡張をリリースした、Flask-MongoEngine

+0

ピラミッドはどうですか?私もそれについて良いことを聞いた。 – lovesh

12

もこのビデオを参照してください。私は最終的にピラミッドを選んだ:

長所:

  • ピラミッドは、フルスタックフレームワークのための非常に軽量です。ボンネットの下には「魔法」があります。私はすべての作品の周りに私の頭を包むことができました。
  • これはDjangoと同じ意見ではありません。比較的簡単に必要なテンプレートエンジンやデータベースをプラグアンドプレイすることができます。
  • 私は、他の完全なスタックフレームワークよりもPyramidのパフォーマンスベンチマークに感心しました。
  • Pylons/Pyramidのコードカバレッジは100%で、 "あなたが食べるものだけを支払う"という文化は、自分の開発スタイルに魅力的でした。

短所:

  • コミュニティが成長しているが、そこにドキュメントの多くがありますが、それはそこにDjangoのドキュメントのいくつかのように堅牢ではありません
  • ジャンゴとしてまだのように成熟していません
  • 「マジック」と初心者に優しいドキュメンテーションの欠如は、より険しい学習曲線になります。

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

+0

フラスコを試しましたか?ここではフラスコをお勧めする人がいるので、フラスコについても読んでいます。 PyramidとFlaskの両方が、プラグアンドプレイの同様の哲学に従っているように見えます。 – lovesh

+4

私はFlaskの小さなテストアプリを超えて掘り下げていません。私の理解は、FlaskやBottleのようなマイクロフレームワークは小さなWebアプリケーションに焦点を当て、アプリケーションが大きく複雑になるにつれて扱いにくくなることです。http://pyramid.readthedocs.org/en/1.0-branch/designdefense.html#microframeworks-より小さい - こんにちは - 世界。また、Chris McDonoughとの新しいビデオでは、ジャンゴとピラミッドの違いを詳しく解説しています(http://youtu.be/eN7h6ZbzMy0)。 –

関連する問題