Django、Turbo Gears、Web2Py、どれが何に適していますか?
-
01-10-2019 - |
質問
ついにプログラミングに踏み出す価値のあるプロジェクトを思いつきました。
ここや他の場所でたくさんの本を読んだ後、私は今のところ、C# や Java ではなく Python を学習することに決めました。私を最も納得させたのは、実際のところ、プログラミング言語と Lisp に関する Paul Graham の探訪でした。ただし、Arc は実験段階にあるため、現時点ではこの Web アプリを作成するのには役立ちません。
Web アプリの高速化に関しては、Django、Turbo Gears、Py2Web をチェックしました。読書に多くの時間を費やしたにもかかわらず、どれを使用すればよいのかまだわかりません。
1) ジャンゴ 確かにオンラインでの存在感が最も優れており、オンサイトのチュートリアルも充実しており、自分たちのことを誇示する方法を確実に知っています。
2) Web2Py インストール不要と、Django を複雑に見せるという主張に私は惹かれました。しかし、Web サイトを調べてみると、何年も更新されておらず、外部リンクが切れているコンテンツがすぐに見つかります。そのウェブサイトには幽霊がいて、このプロジェクトに詳しくない人は、このプロジェクトが停滞しているのではないかと心配させられます。
3) ターボギア ...モジュール式でもあると思います。それについて書いた人々はそれを気に入っていました...Django よりも特別なものとなりそうな具体的なものは見つかりませんでした。
ここで Intellisense コード補完の投稿に対する回答をすべて読みましたが、IDE はまだ決めていません。追加のコード スニペットを表示することは、私のような初心者にとっても素晴らしいことですが、最初に Web フレームワークを選択してから、それとうまく動作するエディターを選択する必要があると思います。
すべてにおいて間違いなく最高のフレームワークはおそらくないので、私が構築したいアプリについていくつか具体的に説明します。
MySQL を使用し、登録/サインインが必要で、入力および SQL クエリからのデータに対する単純な数学演算の負荷がかかります。Excel で機能的なプロトタイプを完成させたので、何を作りたいのかが明確になり、初心者を克服するのに役立つことを願っています。私は小さなアプリになり、大したことはありません。
そして、ビルド中に HTML を見たくないのです ;-)
追伸:Stackoverflow を実行している人々のおかげで、ちょうどいいタイミングでこの場所を見つけました。
解決
Web2pyオンラインドキュメントを見る必要があります(http://web2py.com/book)。ロールベースのアクセス制御(最も一般的なアクセス制御メカニズム)が付属しており、非常に詳細であるため、特定のレコードで特定の操作にアクセスを許可できます。 WebベースのIDEが付属していますが、使用できます ウィンディード, 日食 と Pycharm それも。 HTMLを使用せずにHTMLを生成できるヘルパーシステムが付属しています。ユーザーがメッセージを登録/ログイン/投稿する必要がある完全なアプリの例を次に示します。
db.define_table('message',Field('body'),Field('author',db.auth_user))
@auth.requires_login()
def index():
db.message.author.default=auth.user.id
db.message.author.writable=False
return dict(form=crud.create(db.message),
messages=db(db.message.id>0).select())
Web2pyプロジェクトは、変更のリストからわかるように非常にアクティブです http://code.google.com/p/web2py/source/list
Web2py関連の質問がある場合は、Web2pyメーリングリストに参加することを強くお勧めします。http://groups.google.com/group/web2py/topics
私たちは非常に活発であり、あなたの質問は非常に迅速に答えられます。
他のヒント
それほど熟練した開発者ではない私は、web2py を使用して作成できるスピードに驚かされたと言わざるを得ません。これは主に、素晴らしいコミュニティと、フレームワークをアクセスしやすくするというマッシモの核となる価値によるものです。
私が始めたとき、私はpythonで0行のコードを書きましたweb2pyを聞いたことがありません
私は約 1 か月間真剣に取り組んできましたが、(いつものやり方で)誰も答えられない質問をすることから(意味がわからないため)、本を手に取らずに一度に何時間もコーディングするまでに進歩しました。または質問します。
本当に感動しました。
Djangoで前向きな経験をしました。
- ビルトイン認証と使いやすい拡張機能
registration
- とても良いドキュメント
- HTMLテンプレートを主に書く可能性があります
base.html
, 、次に、テンプレート継承を使用するだけです(注:少なくともHTMLを少し書く必要があります) - ターボギアとは対照的に、Djangoはより「すぐに使える」
- 私はWeb2pyの経験はありませんが、私の印象から、それは少しでも「すぐに使える」ことをしようとします
Djangoに行くことにした場合は、その一般的なビューを使用していることを確認してください。彼らは、PythonとHTMLの両方の多くのコードを書くことからあなたを救います。
また、MySQLを使用する非常に具体的な理由がない限り、PostgreSQLに切り替えることをお勧めします。 DjangoはPostgreSQLにはるかに方向付けられており、とにかくはるかに優れたデータベースです。
オンラインのDjangoドキュメントは素晴らしいです。これが他のすべてのフレームワークとは一線を画している理由です。本もお勧めします 実用的なDjangoプロジェクト ジェームズ・ベネット著
Django:最高の管理インターフェイスがあると聞きました。しかし、それは独自のORMを使用します。つまり、SQL-Alchemyは使用しません。
Web2py:これを調査しませんでした。
- Turbogears2:デフォルトでSQL-Alchemyを使用し、管理インターフェイスにCatwalkを使用しますが、ドキュメントはそれほど大きくありません。
Turbogears2を選んだのは人気のあるコンポーネントを使用しているので、新しいことを学ぶ必要はありませんでした...
私はWeb2pyとRORの両方を広範囲に使用していますが、RORは過去数年で多くの人気とサポートを得ていますが、Web2pyはよりシンプルで、クリーンで、「魔法」が少なくなりますが、より多くの(有用な)外れを提供します。ボックス機能。 Web2pyはRORよりも潜在的な可能性を持っていると思いますが、それは比較的新しいフレームワークであり、RORの成熟度はまだありません。 (それにもかかわらず、私はいつでもRORよりもweb2pyを選びます...)
「構築中にHTMLを見たくない」場合は、Djangoを忘れることができます。 「ポイントクリックドーン」に焦点を合わせておらず、可能な限り短い時間でコンセプトから生産に移行することに焦点を当てています。テンプレート言語の階層的な性質は、非常にクリーンな全体的なサイトレイアウトにつながる可能性があります。私はすべての大きなサイトにdjangoを使用していますが、大好きです。
PythonではなくPHPで書かれていますが、主要な新しいバージョンを見てみましょう。 WordPress それは約2ヶ月または3か月前に出てきました。 3.0では、彼らは「ブログのみ」環境であることから長い道のりを歩んできましたが、既製のテンプレートがたくさんあります。もちろん、テンプレートを微調整したい場合は、厄介な古いHTMLが再びあります。 Djangoサイトに付属する傾向がある専用サーバーなどの管理者などに対処できない小規模なクライアントに使用することを検討しています。
アップデート:ああ、私はセミジョークを逃しました - 私は早すぎて、それは私をユーモアに耳が聞こえなくなる傾向があります。既存のサイトからのテンプレートを使用する限り、私はこれをいくつかのサイトで非常に成功裏に行ってきました。両方とも静的なサイトと、元々よく書かれたPHPスクリプトによって駆動されていたものです。慎重に読むことをお勧めします {% extends %}
と {% include %}
ドキュメント。どちらも文字列の文字通りを取得します また 変数。私は後の方法を使用しましたが、ブランチ全体のスタイルの変更によって区別される強力な階層を持つサイトにとって非常に役立ちます。
また、テンプレートの検索注文を理解するのにも価値があります。それは良い効果に使用することができますが、それをgrokしないと不可解になる可能性があります。のテンプレート関連アイテムを参照してください settings.py これやその他の便利なグッズをファイルします。