2009-12-10 9 views
11

私はweb2pyをよく知っているので、私はDjangoに行ってみたいです。web2py開発者のためのDjango

主な違いは何ですか?

web2pyの知識を考慮に入れて最も効率的な方法は何でしょうか?あなたは両方を使用している場合 (それは、いくつかのPythonのアプリケーションフレームワークの知識を持って支援する必要があります?)

EDIT

はまた、あなたが好むれている意見とその理由を提供することができますか?

+1

私はまずあなたがPythonを知っていることを確認するべきだと思います。Web2pyは一般的なPythonコードのようには動作しません - グローバル名前空間は混乱し、暗黙のうちに多くのものがインポートされますが、web2pyの内部コードを_pythonic_と呼ぶのは難しく、時には壁に衝突します(例えば、 'db.py'ではチュートリアルで提案されているように、グローバル' db'変数は 'models.py'や' people.py'などでアクセスできますが、 'contacts.py'ではアクセスできません。 web2pyの仕組みではなく、Djangoコードの仕組みを再構築するだけで、コードを正しく再構築することができます。 – Tadeck

答えて

25

web2pyはDjangoに非常に触発されていました。あなたが1つを知っていれば、他のものを習得するのは簡単です。データベースの移行(テーブルの自動変更)、エラー時のチケット、WebベースのIDE、Google App Engineで動作するデータベース抽象化レイヤー、プラグイン可能なログインによるロールベースのアクセス制御メカニズムなど、Djangoでは見つけられなかった機能を追加しましたモジュール。

基本的な設計上の違いの1つは、Djangoのアプリケーションはモジュールとして実装されているため、編集するときにサーバーを再起動する必要があることです。 web2pyでは、モデル/ビュー/コントローラはモジュールではなく、フレームワークによって実行される(インポートされない)ため、変更するとサーバを再起動する必要はありません。

別の違いは、DjangoはORMを使用していますが、web2pyはDALを使用しています。 DALはDjango ORMよりもわずかに低いレベルであり、ポータブル(私たちは10種類のデータベースをサポートしています)のまま、SQL構文(例えば、左結合、任意の集約、入れ子選択、また、DALは、モデルの動的なメタプログラミング(XMLやCSVファイルなどのファイルに保存された仕様に基づいて実行時にモデルを作成するなど)を簡単に実行できます。

Djangoはこれほど長い間、熟練した人が増えており、より多くのアプリケーションが配備されています。

+4

コードを変更するときにDjangoサーバを再起動する必要はありません(http://www.djangoproject.com/weblog/2005/jul/20/autoreload/)。 – MikeWyatt

+2

Djangoサーバを使用していても間違いがなければ、Apache + mod_wsgiまたはmod_pythonでDjangoを実行する場合は、Apacheを再起動する必要があります。 web2pyでは、組み込みWebサーバーを使用しなくてもWebサーバーを再起動する必要はありません。 – mdipierro

+1

Apacheを再起動する必要はありません。mod_wsgiまたはfcgiを再読み込みできます。 – rapadura

6

これは間違いなく、いくつかのpythonフレームワークの知識を持つのに役立ちます。始めるために

最も効果的な方法は、2の異なるセクターを比較するために、だろう、すなわちモデル、ビュー、コントローラは、URL派遣、テンプレート、フォームなど

Hereは、いくつかのフレームワークの1つの偉大な比較であります。それが助けになると確信しています。

+0

リンクはもう機能しません。あなたが参照していたリソースを見つけてリンクを更新できますか?それは素晴らしいことだ。ありがとう。 – Tadeck

4

私はweb2pyで解決する前にDjangoプログラマーでした。私は、web2pyでより効率的であると感じました。おそらく、賢明なデフォルト(暗黙的なインポート、デフォルトビューなど)と、forumの大きなサポートのためです。

9

私は小さな社内WebアプリケーションをDjangoで完全に作成し、その後は完全にweb2pyで作成しました。これは、開発者の経験との違いとその影響を実際に理解する唯一の方法です。

私はWeb2pyが好きです。なぜなら、環境にはDjangoよりも便利な機能がたくさんあるからです。web2pyはDjangoよりはるかに新しいので、新しい実装をより容易にするのは簡単です。 web2pyは下位互換性を保証しているので、新しいツールのいくつかがweb2pyを数年後に時代遅れにすることは、まったくもっともらしいです。それが物事の通常の方法です。

いずれにしても、どちらのWebフレームワークと比べても、他のどのWebフレームワークよりも、非常に近いです。たとえば、JavaベースのWebフレームワークの観点から見ると、それらはお互いにほとんど同じように見えるかもしれません。

+1

良い点、+1。しかし、両方のフレームワークでより高度な、よりカスタマイズされた何かをしようとすると、_real_の違いがはっきりと見えます。私は、DjangoがWeb2Pyよりも優れていることを知ることができると信じています.Web2Pyのすべての機能はDjangoで簡単に実装できます。 DjangoにWebベースのIDEがない(多分モジュールがあるかもしれません)ような違いがありますが、少なくともDjangoは様々なIDEによって適切に解釈され、高度にカスタマイズ可能で安定しています。 – Tadeck

+2

@Tadeck:Web2pyでの私の経験について、私はサイトを正常に出荷しました。私のアプリで何が起きているのか、非常に明確で、機能を再実装する必要はなく、IDEでうまくWeb2pyを使用しました(PyDev Eclipse) (web2pyはフォワード互換性を保証!)、web2pyブックに貢献し、フレンドリーなコミュニティーとの交流を楽しんでいました。私はこれらのすべてがDjangoでも可能であると確信しています。言ってるだけ'。 –

11

ジャンゴ=古い web2pyにDjangoはありません=新しい

何か、web2pyは良くありません。

  1. Djangoは信じられないほどのドキュメントがあります)

    主な違い、そして何がweb2pyの中で私を保っている、web2pyには、Djangoのずっと後に行われたとDjangoの過ちから学んだので、それはすべての新しいミスをするが、これは、あります... web2pyはそれほど直感的ではないので、多くのものは必要ありません。どういたしません!私は、Djangoのドキュメントがweb2pyに適用可能であることが判明しました。あなたが一日を過ごして、ジャンゴの本(第1-7章)を読んだら、それが本当であるかについての考えを得るでしょう。ですから、ある意味では、Djangoはasinineです。また、ドキュメントの量について話し合うフレームワークは、良いこととして...心配してください...ドキュメントは良いものから始める必要はありません。 Web2pyの既存のドキュメントは、ユーザーの90%のニーズを満たす以上のものです。残りの10%は、フレームワークライブラリのコード(Djangoほどではなく、恐ろしいものではありません)を調べる必要があります。また、ライブラリーコードを使用する時間の30%以上を費やしている時点に達すると、フレームワークから離れてライブラリーのコレクション(パイロンなど)に向かって移動するときです。その時点では、Webフレームワークが処理するよう設計されていることは何もしていないことを意味します。

  2. DjangoのSQLFormはTextModelです。 TextModel(= SQLForm)を使用してフォームを作成した後。 1つの入力フィールドのCSSを変更しようとしています。 web2pyでは、form.element()を実行します.Djangoではそのようなことはありません。あなたは「widget()」を通過する必要がありますが、ウィジェットに入るためには、まず入力フィールドのタイプなどを調べる必要があります。

  3. また、手動によるDBマイグレーション...スキーマの変更?申し訳ありません...個別の移行アプリ(South)をダウンロードしてインストールするか、DBコンソールで手動で実行する必要があります。

  4. 最後には、ありません複数のDB ...のためのボックスのサポートの外に...ジャンゴと...つまり...

をフープを考えるジャンプやフープのようにあなたを願っています。

あなたが本当にPylonsのを試し、web2pyのから前方にジャンプをしたい場合は...のweb2pyの真剣...

最大の欠点は考慮、これはしかし無理はない...その年齢や小さなコードベースでありますDjangoは、RAILSスタイルのRADのアイデアを実装する最初のPython Webフレームワークのようなもので、web2pyの2倍の年齢です。 Web2pyはまだ生涯の早期採用の部分にあります... Djangoは、衰退するに至る批判的な大量部分にあります... web2pyは今後2年間でいつでも臨界量に達するはずです。

結論 は、Djangoの書籍(CH 1-7)を読んで、一日を過ごす、とPylonsのブック(パート1)を読んで、その後、あなたが開始するためのフレームワークを使用している理由を考えます。私にとってはできるだけ早くできるだけ早く手に入り、30%の時間を文書で調べることなくでした。

Web2pyは上記のニーズを満たしています。

関連する問題