Domanda

Ora che ho ottenuto relativamente familiarità con web2py, mi piacerebbe dare un andare Django.

Quali sono le principali differenze?

Quale sarebbe il modo più efficace per iniziare a prendere in considerazione la conoscenza web2py? (Essa deve contribuire a avere una certa conoscenza framework di applicazioni python, no?)

Modifica

Inoltre, se hai utilizzato entrambi, si può offrire un parere sul quale preferisci e perché?

È stato utile?

Soluzione

web2py è stato molto ispirato da Django e se si conosce uno che è facile da imparare dall'altro. Abbiamo aggiunto alcune caratteristiche che non abbiamo trovato in Django, tra cui: le migrazioni di database (modificare tabelle automaticamente), biglietti di errori, un web based IDE, uno strato di astrazione del database che funziona su Google App Engine, un meccanismo di controllo degli accessi basato sul ruolo con login pluggable moduli.

Una delle differenze di progettazione fondamentali è che in Django app sono implementati come moduli e quindi è necessario riavviare il server quando li si modifica. In web2py invece Modelle / Vista / Controller non sono moduli, vengono eseguiti (non importati) da parte dei quadri e, pertanto, non è necessario riavviare il server quando cambiano.

Un'altra differenza è che Django utilizza un ORM, web2py utilizza un DAL. Il DAL è livello leggermente inferiore rispetto al Django ORM e questo rende più vicino alla sintassi SQL (per esempio si consente sinistra unisce, aggregati arbitrarie, seleziona nidificati e loro combinazioni), pur rimanendo portatile (supportiamo 10 diversi database). Il DAL anche rendere più facile da fare dinamica meta-programmazione di modelli (come ad esempio la creazione di modelli in fase di esecuzione basati su specifiche memorizzate nel file, ad esempio un file CSV o XML).

Django è stato più a lungo in modo da trovare più persone qualificate con esso e più applicazioni distribuite.

Altri suggerimenti

Django = vecchia

web2py = new

Tutto ciò fa Django, web2py fa meglio. Questo perché web2py è stato fatto molto tempo dopo Django e ha imparato dagli errori di Django, anche se rende tutti i nuovi errori;)

La differenza principale, e quello che mi sta tenendo in web2py:

  1. Django ha una documentazione incredibile ... web2py è così intuitiva che non ha bisogno di tanto ... TUTTAVIA! Ho trovato che la documentazione Django è applicabile a web2py per la maggior parte. Se si spende un giorno e leggere il libro Django (Ch 1-7), si otterrà l'idea di come questo è vero. Quindi, in un certo senso, dicendo Django è meglio documentata è asinino. Si noti inoltre che qualsiasi quadro che va in giro a parlare i volumi di documentazione per esso come una buona cosa ... essere interessato ... documentazione è buono, non necessitano di alcuna per cominciare = migliore. documentazione esistente di web2py più che soddisfa le esigenze del 90% degli utenti. Il restante 10% deve andare a dare un'occhiata al codice della libreria quadro (non come gran parte di essa come Django, e non come paura). Inoltre, se si arriva al punto in cui si stanno spendendo più del 30% del vostro tempo passando attraverso codice della libreria, è il momento di allontanarsi da quadri e muoversi verso collezioni delle biblioteche (come tralicci). A quel punto vuol dire che non si sta facendo tutto ciò che framework web sono stati progettati per gestire ...

  2. SQLFORM in Django è TextModel. Una volta creato un form utilizzando TextModel (= SQLFORM). Buona fortuna cercando di cambiare il CSS di un singolo campo di input! In web2py basta fare form.element (), non esiste qualcosa in Django. Si deve passare attraverso "widget di ()", ma per arrivare a Widget, bisogna prima passare attraverso il tipo di campo di input, ecc ...

  3. Inoltre, DB migrazione manuale ... modifica dello schema? Scusa ... avere a uno scaricare e installare un'applicazione di migrazione separato (Sud), o devono farlo manualmente nella console DB.

  4. Infine, non fuori dalla scatola il supporto per più DB ... pensano hoops ...

In altre parole ... con Django ... spero vi piaccia salto e cerchi.

Se si vuole prendere davvero un salto in avanti da web2py, provare Piloni ... sul serio ...

Il più grande svantaggio di web2py è la sua età e la base di codice più piccola ... questo non è irragionevole, però, considerando Django è come la prima web framework Python per implementare idee RAD stile ROTAIE ed è come il doppio dell'età di web2py. Web2py è ancora nella sua porzione early adopter della sua vita ... Django si trova nella parte massa critica al di là fino a venire a declinare ... web2py deve raggiungere una massa critica da un giorno nei prossimi 2 anni, prevedo.

Conclusione Trascorrere una giornata, leggere il libro Django (ch 1-7), e leggere il libro Piloni (parte 1), e poi riflettere sul perché si sta utilizzando un framework per cominciare. Per me è stato quello di ottenere il più fatto il più rapidamente possibile, e senza alzare la documentazione il 30% del tempo.

web2py soddisfa le esigenze di cui sopra per me.

ho fatto un piccolo in-house web app completamente in Django, e poi in seguito completamente in web2py. E 'l'unico modo per capire veramente le differenze e il loro impatto sulla esperienza dello sviluppatore.

Io preferisco web2py perché ci sono più convenienze costruito nell'ambiente di quanto offerto da Django, ma web2py è molto più recente di quanto Django, e col senno di poi fa sempre più facile fare nuove implementazioni meglio. Poiché web2py è garantita la compatibilità all'indietro, è del tutto plausibile che qualche nuovo strumento rende web2py obsolete in pochi anni. Questo è il modo normale di cose.

In ogni caso, sono molto vicini tra loro molto più di qualsiasi altro quadro, web rispetto a uno dei due. Dal punto di vista di un framework web basato su Java, per esempio, potrebbe sembrare quasi identici gli uni agli altri.

E 'sicuramente utile avere conoscenza di alcuni framework python.

modo più efficace per iniziare sarebbe, per confrontare i diversi settori dei due, vale a dire Model, View, Controller, Url Dispacciamento, modelli, moduli, ecc.

Qui è una grande confronto dei pochi quadri. Sono sicuro che ti aiuto.

Sono stato un programmatore Django prima di stabilirsi in web2py. Mi sono trovato più efficiente con web2py, forse a causa del default sensibili (importazioni implicite, viste predefinite, ecc) e il grande supporto al forum .

In breve e al punto: web2py è quello che avrebbe dovuto essere Django.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top