Wie viel Mühe kostet es, eine Django App in App Engine zu betreiben? Funktioniert der Datenspeicher auch so wie er ist mit Django?Django in der Google App Engine
Antwort
verbrachte ich einige Zeit versucht, die gleiche Frage zu beantworten ... es scheint mir, dass das Schwierigste, was zu GAE zu übertragen sind Djangos Modelle ... in dem Sinne, dass sie erfordern verschiedene Modifikationen und Umdenken, vor allem, weil GAE Backend keine relationale Standard-DB ist, sondern googles BigTable. Ich fand einen schönen Intro zu diesem hier:
http://www.youtube.com/watch?v=rRCx9e38yr8
Anyways, es lohnt sich eine jener ‚Patches‘ herunterladen und haben eine mit ihm gehen!
Für mich ist die beste Lösung die 'App-Engine-Patch'. Ich habe das Beispielprojekt heruntergeladen und es hat sofort funktioniert! (Beachten Sie, dass Sie das GAE SDK separat installieren müssen) Ein Mörder-Feature für mich ist die Tatsache, dass die django-admin und viele andere klassische Django-Funktionen auch portiert wurden !!!
http://code.google.com/p/app-engine-patch/
Die documentation ist noch recht minimal meiner Meinung nach, aber es ist gut genug, um Sie zu gehen. Es wird Ihnen helfen, die offiziellen GAE-Dokumente zu überfliegen!
App Engine enthält Version 0.96 von Django out-of-the-Box, aber es ist ziemlich verkrüppelt.
App Engine Helper und App-Engine-Patch beheben dieses Problem angeblich zu einem gewissen Grad, aber ich habe es auch nicht selbst versucht.
http://code.google.com/appengine/articles/appengine_helper_for_django.html http://code.google.com/appengine/articles/app-engine-patch.html
Die Menge an Schmerzen hängt davon ab, wie viel Code Sie wiederverwenden möchten. Da der Datastore SQL leider nicht unterstützt, können Sie häufig keine django-pluggable-App verwenden und sie in Ihrem GAE-Projekt verwenden.
App-Engine-Patch scheint den anderen Django-Helfern voraus zu sein, die Standardanwendungen (Sites, ContentTypes, Flatpages) auf GAE zu bringen. Ich habe app-engine-patch bei mehreren gae-Projekten verwendet, und wenn man einmal verstanden hat, wie man ein django-sql-Modell in ein django-gae-Modell portiert und sql in datastore-Abfragen umwandelt, kann man sehr schnell etwas lernen Kurve.
appengine-helper versucht, die Datastore-Lücke zu überbrücken, indem Sie ein Modell bereitstellen, sodass Sie Ihre Modell-Oberklassen nicht ändern müssen, aber ich habe festgestellt, dass Sie schließlich ManyToMany-Beziehungen und beliebige SQL ändern müssen Vorteil ist minimal. ae-patch hat eine Roadmap, um ein ae-Datenspeicher-Backend zur Verfügung zu stellen, aber es wird wahrscheinlich für eine Weile nicht passieren.
Nur Yesterday (depending on your time zone), Google released a new SDK für Python auf Appengine, die Django 1.0 aus der Box unterstützt.
Danke für den Zeiger! Ich bin auch ziemlich aufgeregt über die Aufgabenwarteschlangen! – MathOldTimer
ist diese Django-NoSQL Edition? –
* Django-Nonrel? –
31.01.2012, Google released App Engine 1.6.2 unterstützt Django Out-of-the-Box.
Sie müssen es jedoch mit CloudSQL verwenden oder können Sie auch mit dem HRD Datasotre gehen –
Sie müssen django-nonrel (source) verwenden.
Sie werden noch viele Fragen finden:
- Many2Many Beziehungen nicht unterstützt
- Gefälschte verbindet Anstieg Anzahl der Abfragen
- App Engine erlaubt keine Python lib mit Sockel oder C Abhängigkeiten (Sentry , lxml ...)
Sie können versuchen, einen frühzeitigen Zugriff auf CloudSQL zu erhalten.
Ansonsten sind Sie nicht App Engine verwenden Zwang, können Sie über die Verwendung denken:
Billiger und mehr Kontrolle mit Unterstützung Anforderung Dateien wie Pip.
Google hat jetzt seinen Cloud SQL-Speicher gestartet. Das ist MySQL 5.5 in der Cloud. IMO, das ist eine sehr gute Möglichkeit, deine Django-App in die Cloud zu migrieren. Sie haben eine kostenlose Testversion bis zum 1. Juni 2013.
Wenn Sie einige Tipps benötigen, wie Sie Ihr Django-Projekt für Appengine und Cloud SQL einrichten, habe ich eine tutorial for that geschrieben.
- 1. Google App Engine oder Django?
- 2. Django/Django nonrel + Google App Engine + Lernprogramm
- 3. Microservice in Google App Engine
- 4. Verwenden des Django-Frameworks in der Google App Engine
- 5. Django und App Engine
- 6. Django + Adsense auf Google App Engine
- 7. Google app engine- Django-numpy pandas blaze
- 8. Django + Pydev/Eclipse + Google App Engine - möglich?
- 9. Google App Engine mit Django 1.0.2
- 10. DJANGO + Google App Engine, Erste Schritte Tutorial
- 11. Django Formular Vererbung auf Google App Engine
- 12. Facebook, Django und Google App Engine
- 13. Django 1.1 auf Google App Engine
- 14. Google App Engine + Validierung
- 15. Google App Engine + Formular Validierung
- 16. Google App Engine Projekthierarchie
- 17. Problem mit der Google App Engine-Kanal-API (Python/Django)
- 18. Django + Google App Engine: App-Engine-Helfer für Django oder use_library?
- 19. Google App Engine vs WebFaction
- 20. Delicious App mit Django und Google App-Engine
- 21. pyOpenSSL NotImplementedError Google App Engine
- 22. Google App Engine: Anmeldung in der Entwicklerkonsole?
- 23. Authentifizierung in der Google App Engine (Webseite)
- 24. web.py in der Google App Engine
- 25. Serverseitiges JavaScript in der Google App Engine
- 26. Transaktionsisolation in der Google App Engine
- 27. Google App Engine & Google Storage
- 28. Wahl Immobilien in Google App Engine
- 29. Django Benutzerdefinierte Vorlage Schlagwörter in Google App Engine
- 30. Google App Engine ThreadSafe
Ich fand die App Engine Patch zu einem PIA. Es sucht immer nach seltsamen Python-Modulen, gibt oft seltsame Fehler zurück und funktioniert völlig anders als django runserver. – drozzy
ist dieser Patch besser als Django-Nonrel? –
HINWEIS: App-Engine-Patch ist alt und verlassen. Benutze es nicht. – dfrankow