[解決済み] 初心者のためのDjangoとweb2pyの比較【終了しました
質問
これらの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のグループで質問をしてみてください。
関連
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] __init__.py は何のためにあるのですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] Pythonの上達の道 - 見習いから第一人者へ
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Python 言語を決定するには?
-
[解決済み] virtualenvsはどこに作成するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?