2009-02-08 5 views
5

Sono in procinto di iniziare un nuovo progetto su App Engine e Brandon's advice mi ha fatto riflettere.Le migliori funzioni di Django che funzionano su Google App Engine?

Molte funzioni di Django non funzionano su Google App Engine: l'interfaccia di amministrazione e la struttura di modellazione per esempio.

Considerando che App Engine ha già un quadro semplice built-in ("webapp") e posso freely pick dalle molte soluzioni Python template (tra cui Django di) senza me stesso legando ad un peso relativamente pesante (ma in questo caso castrato) quadro quali sono le caratteristiche principali che mi mancherebbero di più se non andassi con Django?

Background: ho solo un'esperienza Django minima e sto considerando l'utilizzo dei modelli Mako (per la velocità).

risposta

6

Le differenze principali sono ciò che già sapete che non supporta l'ORM di Admin e Django (eccellente). Ciò non è sorprendente, tuttavia, poiché l'API Datastore di Google è eccellente. E non devi imparare GQL per giocarci.

Ma usando Django significa che è possibile usufruire di ulteriori funzionalità esistenti (Django middleware, ecc) e, se si vuole allontanarsi da Google App Engine, in futuro, ci sarà meno codice da riscrivere.

Google ha rilasciato anche lo Google App Engine Helper for Django che può essere utile per l'impostazione dell'app GAE Django.

Quindi, preferirei utilizzare le applicazioni di Google App Engine utilizzando Django anziché la pura webapp.

Edit su richiesta: di Django funzionalità esistenti ho già detto, può essere preso in termini di molte applicazioni utili e per lo più middleware sviluppato da un enorme giorno Django comunitaria in giorno.

Oltre all'utile Built-in-Middlewares fornito dalla stessa DJango, ce ne sono molti altri che possono soddisfare anche pochi usi specifici.

Per citarne alcuni (che suona interessante per me):

E per giocare con loro in modo efficiente "Conditional middleware execution in Django" può essere utile.

Cerca di più, troverai di più.

+0

"è possibile usufruire di più funzionalità esistenti (middleware Django, ecc.)" Potresti elaborare? Quali sono esattamente queste caratteristiche? – nyenyec

-4

Fatevi un favore e non toccate il motore dell'app.

Se o meglio quando Google cambia le regole il vostro tempo e sforzo investito in Ingegneria app verranno persi. It (AppEngine) è di proprietà se non ti piace qualcosa su di esso hai effettivamente perso il tuo investimento. Non puoi semplicemente prendere la tua app ed eseguirla da qualche altra parte. Google non è un ente di beneficenza - cambieranno le regole perché possono con le loro preoccupazioni sopra piccoli insignificanti. E 'il peggior tipo di lockin ...

0

Al momento di scrivere la maggior parte delle caratteristiche Django stato portato verso GAE con l'aiuto di Google AppEngine progetto di Patch.

Il principale che non era ancora il supporto è il modello di Django, è necessario utilizzare modelli db GAE. Ma non fa tanto male.

Basta avere Appengine-Patch e provarlo.