App EngineにDjango Appを実行するのはどれくらいの苦痛がありますか?また、DatastoreはDjangoと同じように動作しますか?Google App EngineのDjango
答えて
私は同じ質問に答えるためにしようといくつかの時間を過ごした... GAEに転送するための最も困難な事はDjangoのモデルているように私には思える...という意味で、彼ら主にGAEのバックエンドは標準的なリレーショナルDBではありませんが、GoogleのBigTableのように、さまざまな修正と再考が必要です。私はこのここに素敵なイントロが見つかりました:
http://www.youtube.com/watch?v=rRCx9e38yr8
とにかく、それはそれらの「パッチ」のいずれかをダウンロードし、それを行く持っている価値があります!
私にとって最高の解決策は、 'app-engine-patch'です。私はサンプルプロジェクトをダウンロードし、それはすぐに働いた! (GAEのSDKを別途インストールする必要があることを心に留めてください)django-adminとその他の古典的なジャンゴ機能が移植されています。
http://code.google.com/p/app-engine-patch/
documentationはまだ私の意見では、非常に最小限のですが、それはあなたが軌道に乗るためには十分です。それは公式のGAEのドキュメントをスキミングするのに役立ちます!
App Engineには、Djangoのバージョン0.96が含まれていますが、それはかなり不自由なものです。
App Engine Helperとapp-engine-patchはこの問題をある程度解決していますが、どちらも試していません。
http://code.google.com/appengine/articles/appengine_helper_for_django.html http://code.google.com/appengine/articles/app-engine-patch.html
痛みの程度は、再利用したい既存コードの量によって異なります。残念ながら、DatastoreはSQLをサポートしていないため、しばしばジャンゴプラグ対応のアプリケーションを使用してGAEプロジェクトで使用することはできません。
App Engineパッチhttp://code.google.com/p/app-engine-patch/は、標準アプリケーション(Sites、ContentTypes、Flatpages)をGAEに持ち込む際に、他のdjangoヘルパーより先に見えます。私はいくつかのgaeプロジェクトでapp-engine-patchを使いました。そしてdjango-sqlモデルをdjango-gaeモデルに移植し、sqlをdatastoreクエリに変換する方法を理解すれば、すばやく実行できます。曲線。
モデルのスーパークラスを変更する必要がないように、モデルを提供することでAppStoreのギャップを埋めようとしますが、ManyToManyリレーションシップと任意のSQLを変更する必要があることがわかりました。利点は最小限に終わる。 ae-patchはae-datastoreバックエンドを提供しようとするロードマップを持っていますが、しばらくの間は起こらないでしょう。
ちょうどYesterday (depending on your time zone), Google released a new SDK Python on Appengine on django 1.0をサポートしています。
ポインタありがとう!私はまた、タスクキューについてかなり興奮しています! – MathOldTimer
はそのDjango-NoSQL版ですか? –
* Django-Nonrel? –
31.01.2012、Google released App Engine 1.6.2 Djangoのすぐ使えるものをサポートしています。
CloudSQLでそれを使用する必要がありますか?また、HRD Datasetre –
django-nonrel(source)を使用する必要があります。
あなたはまだ問題の負荷を見つける:
- Many2Many関係がサポートされていない
- フェイクが
- App EngineはソケットまたはCの依存関係を持つ任意のPythonのlibが許可されていませんクエリの増加数(歩哨に参加します、lxml ...)
CloudSQLに早くアクセスすることができます。
そうでなければあなたはApp Engineのを使用するように制約されていない、あなたが使用して考えることができます:PIPのようなサポート要件ファイルと
安く、より多くの制御。
GoogleはCloud SQLストレージを開始しました。これは実際にはクラウド内のMySQL 5.5です。 IMOはあなたのDjangoアプリをクラウドに移行するためのとても良い方法です。彼らは2013年6月1日まで無料トライアルをしています。
AppengineとCloud SQL用にDjangoプロジェクトを設定する方法については、tutorial for thatと書いてあります。
- 1. Google App EngineのDjango FileField、ImageField
- 2. Google App EngineのDjango 1.1
- 3. Google App EngineのDjango + Adsense
- 4. Django with Google App Engine - チュートリアルリソース
- 5. Google App Engine DjangoとHTML5
- 6. Google App Engine with Django 1.0.2
- 7. django-cms on google-app-engine(django-norel)
- 8. Google App EngineとDjango-nonrel:dbの移行
- 9. Google App EngineでのDjangoフォーム継承
- 10. Google App Engine Channel API(Python/Django)の問題
- 11. Google App Engineの:
- 12. Google App Engineの:
- 13. Google App Engineタスクキュー
- 14. Google App Engineジオクエリ
- 15. Google App Engine Profiler
- 16. Google App Engine - JDODetachedFieldAccessException
- 17. EJB + Google App Engine
- 18. App Engine + Googleドキュメント
- 19. Google App Engineリクエストステータス
- 20. Google App Engineデータベース
- 21. Google App Engine MemcacheException
- 22. Google App Engine APNS
- 23. Google App Engine ThreadSafe
- 24. Google App Engineを -
- 25. Google App Engineキークラス
- 26. Google App Engineスタックドライバー。
- 27. Google App Engine __main__モジュール
- 28. Google App Engine localhost
- 29. Google App Engine&Python
- 30. IPV6 Google App Engine
アプリエンジンのパッチがPIAであることが判明しました。常にいくつかの奇妙なpythonモジュールを探し、しばしばwierdエラーを返し、django runserverとはまったく異なる機能をしばしば返します。 – drozzy
このパッチはDjango-Nonrelよりも優れていますか? –
注:app-engine-patchは古くて放棄されています。それを使用しないでください。 – dfrankow