5

私は App Engine で新しいプロジェクトを開始しようとしていますが、Brandon のアドバイスを聞いて考えさせられました。

Django の多くの機能は、Google App Engine では動作しません。たとえば、管理インターフェースやモデリング フレームワークなどです。

App Engine にはすでに単純なフレームワーク (「webapp」)が組み込まれていることを考えると、比較的重い (ただしこの場合は中和された) フレームワークに縛られることなく、多くの Python テンプレート ソリューション (Django を含む) から自由に選択できます。 Django を使用しないと見逃す可能性のある主な機能は?

背景: 私は Django の経験が最小限しかなく、 (速度のために) Makoテンプレートの使用を検討しています。

4

4 に答える 4

6

主な違いは、もちろん Admin と Django の (優れた) ORM をサポートしていないことを既に知っていることです。ただし、Google 独自の Datastore API は優れているため、これは驚くべきことではありません。また、GQL を使用するために GQL を学習する必要はありません。

ただし、Django を使用すると、より多くの既存の機能 (Django ミドルウェアなど) を利用できることを意味し、将来 Google App Engine から移行する必要がある場合でも、書き直すコードが少なくなります。

また、Google は Django 用のGoogle App Engine Helper をリリースしました。これは、GAE Django アプリの設定に役立ちます。

したがって、純粋な webapp の代わりに Django を使用する Google App Engine アプリケーションを使用したいと考えています。

リクエストに応じて編集: 私が言及した Django の既存の機能は、多くの便利なアプリケーションと、巨大な DJango コミュニティによって日々開発されているほとんどのミドルウェアの観点から見ることができます。

DJango 自体が提供する便利なビルトイン ミドルウェア以外にも、いくつかの特定の用途に適した他の多くのミドルウェアがあります。

いくつか例を挙げると(私には興味深いように聞こえます):

  • Google アナリティクス DJango ミドルウェア
  • Django ミドルウェアとしての YUI ローダー
  • Django ドメイン リダイレクト ミドルウェア
  • ForceHTTPS Django ミドルウェアなど...

そして、それらを効率的に操作するには、「Django での条件付きミドルウェア実行」が便利です。

さらに検索すると、さらに見つかります。

于 2009-02-08T20:33:01.397 に答える
2

管理インターフェースapp-engine-patch 1.0betaでサポートされているようです (お知らせへのリンク)。

私にとって、これはおそらくDjangoの最高の機能です。(ただし、App Engine の非結合の世界でどのように機能するかを確認する必要があります。)

于 2009-02-10T16:21:14.507 に答える
0

これを書いている時点では、Google Appengine Patch プロジェクトの助けを借りて、ほとんどの django 機能が GAE に移植されています。

まだ Django のモデル サポートがなかった主な機能は、GAE db モデルを使用する必要があることです。でもそんなに痛くないです。

Appengine-Patchを入手して試してみてください。

于 2009-02-23T12:58:47.227 に答える