1. ホーム
  2. python

[解決済み] 初心者のためのDjangoとweb2pyの比較【終了しました

2023-07-04 04:56:16

質問

これらの2つのフレームワークのうち、どちらが11ヶ月の経験を持つ開発者に適していますか。私は、サーバーサイドコーディングのためにpythonを学ぶことを決定し、これらのうちどちらが私のスキルレベルの人に適しているかを知りたいと思いました。私は、web2pyで数日間遊んでみて、本当に気に入ったので、Djangoは私が見逃している何かをもっと提供しているのではないかと思っています。

PS. 3冊のdjangoの本を買い、djangoとweb2pyの両方の小さなプロジェクトやチュートリアルをいくつか経験した後、私はweb2pyに落ち着きました。これは素晴らしいフレームワークで、初心者にとってWeb開発を本当に楽しいものにしてくれます。将来的には主流になると思うので、すべての初心者にこのフレームワークを学ぶことをお勧めします。Djangoも素晴らしいフレームワークですが、私の限られた経験では、web2pyの方が優れています。

どのように解決するのですか?

(免責事項: 私はweb2pyのプロジェクトリーダーです)

Djangoはweb2pyよりも5年長く存在しているので、より多くのユーザと、より多くのアプリケーションを誇示しています。Django には、彼らが "admin" と呼ぶものがありますが、これは web2py の "admin" とは違い、web2py の "appadmin" のようなものです。Django の "admin" は web2py の "appadmin" よりも良く、よりカスタマイズ可能です。Django には、web2py の "admin" に相当するものはありません。(名前を混同してすみません)。

web2pyはよりコンパクトで、より多くの機能を備えています(サポートされるデータベース、WebベースのIDE、チケットシステム、パッチなしでGAE上で動作、複数のログイン方法、ロールベースのアクセス制御、Webベースの翻訳インターフェース、複数のデータベース接続のサポート、分散トランザクション、その他)。

私にとってweb2pyの最も重要な機能は、自動的なマイグレーションです。Djangoはそれを箱から出してはくれません。

web2pyにとって、長期的な後方互換性は、セキュリティとともに、主要な目標です。Djangoはセキュリティの面でweb2pyと同等ですが、(web2pyがCSRF防止とテンプレートでのデフォルトのエスケープを先に持っていたことを除いて)Djangoは1.0がリリースされたときに後方互換性を失いましたが、web2pyは2007年10月から一度もそうしませんでした。

私にとっては、web2pyの構文はより自然です。

 db(db.tablename.fieldname <= value).select() # web2py
 Tablename.objects.filter(fieldname__lt=value) # Django

私は、Djangoにないweb2pyの機能を知りません。もしあれば、それをweb2pyに追加したいので、その質問を何度もしていますが、まだ満足のいく回答は得られていません。

もちろん、私たち二人がやっていることで、違うこともあります。Djangoは、"explicit is better than implicit"に従っています。web2pyはそうせず、代わりに"everything should have a default behavior"に従っています。これにより、web2pyのコードと設定がよりコンパクトになると信じています。

いずれにせよ、どちらを選ぶにせよ、どちらも優れた堅実なWebフレームワークであり、相違点よりも類似点の方が少ないです。Djangoの開発者はとても賢い人たちです。

web2pyのコミュニティはとてもフレンドリーです。実験として、web2pyのgoogleグループとDjangoのグループで質問をしてみてください。