2012-11-01 14 views
12

Sto usando MongoDB come database principale (e solo fino ad ora) e grazie a Google e ai collegamenti che mi ha fornito io Sono confuso tra Django o Pyramid.quale framework web python (django o django-norel o piramide) da utilizzare quando MongoDB viene usato come database

Mi trovo a mio agio con Python, ma non ho mai realizzato lo sviluppo web in Python (l'ho fatto in PHP). Ora, perché userò Mongo, quindi non userò Django ORM che toglierà la facilità di sviluppo che le persone associano a Django?

Sono nuovo di Django (solo poche ore), quindi non sono sicuro di quali parti del framework interessano l'ORM.

o devo andare con la forchetta Django django-norel con django mongodb engine (che non sono attivamente mantenuti però) o devo usare Piramide, perché ho intenzione di usare Jinja2 come il mio livello template in modo che rende 2 parti di Django inutile per me.

Dopo aver rimosso queste batterie dal django, rimane ancora vero che è un framework per le persone con scadenze?

Consigli?

+0

Il sex appeal principale di Django è l'app di amministrazione, non è molto utile per i database non relazionali. Considera anche Flask. –

+1

Che cosa vuoi esattamente costruire? Sarebbe sciocco scegliere un framework solo a causa del tuo datastore previsto, quando potrebbero esserci altri fattori più importanti. –

+0

Se non avessi intenzione di utilizzare l'ORM o il motore di template, non dovresti usare Django. Flask sembra un'ottima alternativa. –

risposta

9

Ho intenzione di suggerire un'alternativa che non è stata menzionata: Flask. Flask ha una community davvero fantastica (anche se più piccola di Django) e ci sono un sacco di estensioni disponibili per le estensioni web-app comuni, nel extensions directory.

Esistono diverse estensioni MongoDB per Flask, che aiutano a integrare MongoDB nel framework, ma raccomanderei anche l'ORM mongoengine. Una delle persone che lavorano su mongoengine ha rilasciato un'estensione per l'integrazione di Flask, Flask-MongoEngine.

+0

E la piramide? Ho sentito anche cose positive. – lovesh

12

Un anno o due anni fa ero anche decidere tra Django e piramide w/MongoDB per costruire un'applicazione web ad alte prestazioni. Sono infine scelto piramide:

Pro:

  • piramide è molto leggero per un quadro completo stack. C'è una quantità minuscola di "magia" in corso sotto il cofano. Sono stato in grado di avvolgere la mia testa intorno a tutti i pezzi.
  • Non è così supponente come Django. È possibile collegare e riprodurre qualsiasi motore di template o database che è necessario relativamente facilmente.
  • Sono rimasto impressionato dai benchmark delle prestazioni tra Pyramid rispetto ad altri framework full stack.
  • La cultura dei piloni/piramide con copertura del 100% del codice e "paga solo per quello che mangi" era interessante per il mio stile di sviluppo.

Contro:

  • La comunità è in crescita, ma ancora non maturo come Django
  • C'è un sacco di documentazione, ma non è così robusta come alcuni dei documenti Django là fuori
  • La mancanza di documentazione "magica" e per principianti facilita la curva di apprendimento.

Per quanto riguarda l'utilizzo di un ORM con MongoDB; Vi consiglio di provare a costruire senza uno all'inizio. Dopo aver provato alcuni ORM mongodb, sono tornato al semplice pymongo con Colander o Validictory per la convalida. Pymongo è già molto simile ad ORM, veloce e flessibile. Sentii che gli strati extra di astrazione mi toglievano quella flessibilità e mi inducevano a scrivere più codice di quanto fosse necessario.

+0

Hai provato Flask? Perché alcune persone qui raccomandano Flask che ho letto anche su Flask. Sembra che Pyramid e Flask seguano entrambe la stessa filosofia del plug and play. – lovesh

+4

Non ho approfondito oltre una piccola app di prova con Flask. La mia comprensione è che i micro-framework come Flask e Bottle si concentrano su app web più piccole e diventano ingombranti quando l'app diventa grande e più complicata: http://pyramid.readthedocs.org/en/1.0-branch/designdefense.html#microframeworks- piccolo-ciao-mondo. Inoltre, c'è un nuovo video con Chris McDonough che approfondisce le differenze tra django e piramide http://youtu.be/eN7h6ZbzMy0. –

Problemi correlati