たくさんのPythonフレームワークがあることを知っています。皆さんが私を正しい方向に向けることができますか?私の主な関心事はシンプルさです。私が望んでいる(または望んでいない)他のいくつかのこと:
web2py は265Kバイトのソースコードで、1.2MBすべてを含みます(4.6MBのDjangoと比較してください)。ただし、web2pyは必要なすべてを行います(セッション、Cookie、リクエスト、レスポンス、キャッシュ、国際化、エラー/チケット、GAE、SQLite、MSSQL、MySQL、Postgres、Oracle、FireBirdなどのデータベース抽象化)。インストールは不要です。 -解凍してクリックするだけで、ブラウザで開発を行うことができます。
Web2pyにはルートとリバースルートの両方があります。
Web2pyには階層テンプレートシステムがあります。つまり、ビューはレイアウトを拡張でき、別のレイアウトを拡張できます。ビューには他のビューを含めることもできます。
あなたが明示的にORMを必要としないので、私があなただったら、「フルスタック」フレームワークから遠ざかります。 PythonのWSGI標準には、必要な機能だけでなく、作業スタイルを選択できる使いやすいオプションが多数用意されています。
次に例を示します。URLディスパッチの場合、 Routes を使用できます。これは、RailsのURLディスパッチスタイルを移植します。または、 Selector と WebOb を組み合わせて、そのスタイルがより適している場合もあります。
「レイアウト」の場合、コードを実行できないテンプレートが必要な場合は、強力な Jinja2 を使用できます。または、 Mako 少しのコードをテンプレートに混在させたい場合。 Deliverance を使用して、複数のアプリや複数の言語で構成されるページのレイアウトを制御することもできます!
フルスタックのWebフレームワークは、多くの選択肢があり、建物のアプリだけに注意を向けられるという点で素晴らしいです。しかし、私が上に挙げた選択肢は、あなたがあなた自身のものを作り始めるのに良いコレクションです。その道を進むと、必要に応じてキャッシュとセッションに Beaker を、またはデバッグに役立つ WebError を簡単にプラグインできます。
個人的には、私はORMの大ファンです(特に SQLAlchemy )が、ORMを無料で全体的に軽量にしようと考えているなら、Pythonで利用できるすばらしいWSGIコンポーネントを組み合わせることに勝るものはありません。
web.py を試してください。それは非常にシンプルで、あなたが探しているミニマリズムを提供するかもしれません。
Djangoよりもはるかに優れており、くだらないORMが付属していません。
人々はすでにWebアプリケーションフレームワークに関する多くの答えを出しましたが、MVC(またはその他のパラダイム)はWebのみに結び付けられていません。わかりやすくするためです。
プレーンMVCの場合、Pylonsはより厳密な方法でパラダイムに準拠しています。 DjangoはMVCを解釈し、それをmodel-template-viewと呼びますが、役割の分離の考え方は同じです。実際の選択は個人的な好みの問題ですが、これらの2つはどれも考慮しませんがlightweigth(パイロンはlighter、しかし実際はそうではなく、最近Django=いくつかの追加の重みを集めました-個人用ブログのような小さなアプリケーションでも20MBの常駐メモリに収まらない可能性が高いです)。
もちろん、独自のフレームワークを書くことを妨げるものは何もありません。 WebOb で。必要に応じてlightとして作成できます(そして、多くのことを試してみてください)。
チェックアウト https://github.com/salimane/bottle-mvc または https://github.com/salimane/flask-mvc それらは、コントローラー、別のフォルダー内のモデルを使い始めるための定型文です。これらはボトルとflask microフレームワークに基づいており、無駄な機能はありません。必要なモジュールをプラグインする柔軟性を提供します。
独自の framework を作成せずにシンプルなものが必要な場合、まだすべてを包括的(Django)にしないで、 CherryPy を試してみてください。ほとんどすべての dispatcher (ページハンドラー/ URLルーティングシステム)を使用できます。また、独自のテンプレートエンジンを選択する必要があります。 Genshi は私のお気に入りです。
デスクトップアプリケーションに関しては、 Dabo が適しています。 MySql、Postgresql、Firebird、およびSqliteをサポートするwxPython上のクロスプラットフォームフレームワークです。
Web2pyが必要です。確認してください:
Web2pyにはORMはありませんが、SQLの構文ラッパーがあり、SQLを簡単に実行できます。
... web2pyにはこれらの両方があります。
また、web2pyは、ほとんどすべての点でDjango/Rails/whateverよりも軽量です。学ぶのはとても簡単です。 MVCフレームワークの学習で最も難しいのは、スクリプト、ORM、および(Djangoを使用した)テンプレート言語です。しかし、web2pyはスクリプトを削除し、ORMを単純化し、テンプレート言語はpython巧妙な方法で)です。
ジャンゴ!
Google App Engineはそれを使用します。
私は自分のペットプロジェクトにも使用しています。
はい、私は言うでしょうDjangoは間違いなく行く方法です。そのモジュラー設計により、コンポーネント(ORM、テンプレートエンジン、URLディスパッチなど)を組み合わせて一致させることができます。フレームワークが提供するコンポーネントを使用して、代わりにサードパーティの同等のものと置き換えることができます。
web2py! Djangoはコントローラーをビューと呼びます。
シンプルにする場合は、web2pyまたはパイロンを使用します。 Django is good ...しかし、学習曲線は急です
ジャンゴ。追加機能を使用するためにhaveを使用しないでください。また、必要に応じてサードパーティのライブラリを組み合わせて使用できるように設計されています。
パイロン ;軽量で高速です。
私もDjangoボートに乗っています。ここにいくつかの理由があります。
私は本当にPythonですが、特にDjangoとweb2pyを静かにしてみました。web2pyのシンプルさが大好きで、このサイトは、DAL、コード生成、HTML hlpersといった機能の必要以上のセットを備えており、私にとって最も重要な機能は、サイト内のドキュメントが完全に揃っていることです。
Django が推奨です。
ここへの紹介 (Jacob Kaplan-MossによるGoogle Tech Talk)を見つけることができます:
また、デポール大学で スネークとルビーで行われたエイドリアンホロバティの講演 もご覧ください。