Domanda

Ho in mente un progetto che rende la pena finalmente fare il grande passo nella programmazione.

Dopo aver letto un sacco di roba, qui e altrove, sto impostato sul rendere Python quello che ho imparato, per ora, su C # o Java. Quello che mi ha convinto di più è stata in realtà escursioni di Paul Graham sui linguaggi di programmazione e Lisp, anche se Arc è in fase sperimentale, che non sarebbe aiutarmi a fare questa applicazione web in questo momento.

Come per il web app veloce, ho controllato fuori Django, Turbo Gears e Py2Web. A dispetto di spendere un sacco di tempo a leggere, ho ancora idea di quale dovrei usare.

1) Django ha certamente la più bella presenza online, e un tutorial in loco ben fatto, di sicuro sa come mettersi in mostra le loro cose.

2) web2py mi ha attirato con la sua no-install-necessario e la pretesa di fare Django sembrare complicato. Ma quando si scava intorno sul loro sito web, di trovare rapidamente il contenuto che non è stato aggiornato negli anni con link esterni rotti ... C'è fantasmi su quel sito web che rendono qualcuno non intimamente familiare con la preoccupazione progetto se si potrebbe flatlining.

3) Turbo Gears ... Credo che la sua modularità troppo. Le persone che hanno scritto su di esso è piaciuto molto ... Non riuscivo a trovare qualcosa di specifico che potrebbe sollevare speciale negli Django.

Non ho ancora deciso su un IDE, anche se ho letto tutte le risposte al codice di completamento postale Intellisense qui. Mostrando frammenti di codice in più sarebbe stato troppo freddo per niubbi come me, ma suppongo che dovrei scegliere il mio lavoro della struttura web prima e poi scegliere un editor che funziona bene con esso.

Dato che probabilmente nessun quadro è senza dubbio il migliore in tutto, vi darò alcune specifiche su App Voglio costruire:

Si userà MySQL, ha bisogno di registrare / sign-in, e ci sarà un carico di semplici operazioni matematiche sui dati di ingresso e di query SQL. Ho completato un prototipo funzionale in Excel, quindi so esattamente cosa voglio costruire, che spero mi aiuterà a superare la mia noobness. Sarò una piccola applicazione, nulla di grande.

E non voglio vedere nessun codice HTML, mentre la costruzione è ;-)

PS: grazie alle persone che eseguono StackOverflow, trovato questo posto proprio al momento giusto troppo

È stato utile?

Soluzione

Si dovrebbe guardare la documentazione in linea di web2py ( http://web2py.com/book ). Viene fornito con un Role Based Access Control (la più meccanismo di controllo degli accessi in generale) ed è molto granulare, è possibile concedere l'accesso per operazioni specifiche su record specifici. Viene fornito con un web based IDE ma è possibile utilizzare WingIDE , Eclipse e PyCharm troppo . Esso viene fornito con il sistema di supporto che permette di generare codice HTML senza utilizzare HTML. Ecco un esempio di un'applicazione completa che richiede agli utenti di registrarsi / accesso / inviare messaggi:

db.define_table('message',Field('body'),Field('author',db.auth_user))
@auth.requires_login()
def index():
    db.message.author.default=auth.user.id
    db.message.author.writable=False
    return dict(form=crud.create(db.message),
                messages=db(db.message.id>0).select())

Il progetto web2py è molto attivo come si può vedere dalla lista dei cambiamenti http: //code.google.com/p/web2py/source/list

Se avete domande relative web2py vi consiglio caldamente di partecipare alla web2py mailing list: http://groups.google.com/group/web2py/topics

Siamo molto attivi e le vostre domande saranno risposte molto rapidamente.

Altri suggerimenti

Devo dire come sviluppatore non particolarmente abile, la velocità con cui sono stato in grado di creare con web2py ha soffiato la mia mente. In gran parte a causa della comunità incredibile e il valore fondamentale Massimo ha di rendere accessibile il quadro.

Quando ho iniziato avevo scritto 0 righe di codice in Python Mai sentito parlare di web2py

Sono stato a serio per circa un mese e hanno progredito (nel mio solito modo) dal porre domande che nessuno poteva rispondere (perché non ha alcun senso) alla codifica per ore alla volta senza raccolta un libro o fare una domanda.

Sono davvero impressionato.

ho avuto esperienze positive con Django.

  • Built-In Autenticazione e facile da utilizzare le estensioni per registration
  • Molto buona documentazione
  • È probabile scrivere i tuoi modelli HTML per lo più in base.html, poi basta usare l'ereditarietà dei template (Nota: Avrai bisogno di scrivere almeno un po 'di HTML)
  • A differenza di TurboGears, Django è più 'out-of-the-box'
  • Non ho alcuna esperienza con web2py, ma dalla mia impressione, si cerca di fare un po 'di più 'out-of-the-box'

Se si decide di andare con Django, assicurarsi di utilizzare le sue Visualizzazioni generici. Essi vi salverà da scrivere un sacco di codice, sia Python e HTML.

Inoltre, a meno che non ci sia un motivo ben preciso per l'utilizzo di MySQL, vi consiglio di passare a PostgreSQL. Django è molto più orientato verso PostgreSQL ed è una base di dati molto meglio comunque.

La documentazione in linea Django è grande, questo è quello che ha messo lo distingue da tutti gli altri quadri. Raccomando anche il libro Practical Django Projects di James Bennett

  • Django: Heard ha la migliore amministrativo interfaccia. Ma usi il proprio ORM, vale a dire non usa SQL-Alchemy.

  • web2py:. Non ricerca di questo

  • Turbogears2: Utilizza SQL-Alchemy per impostazione predefinita, utilizza Passerella per admin l'interfaccia, ma la documentazione non è così grande.

Ho scelto Turbogears2 perché utilizza componenti popolari, quindi non ho dovuto imparare nulla di nuovo ...

Ho usato sia web2py e RoR ampiamente, e mentre RoR ha ottenuto un sacco di popolarità e sostegno in questi ultimi anni, web2py è più semplice, più pulito, meno "magico", e tuttavia anche altre offerte (utile) fuori -of-the-box funzionalità. Direi che web2py ha più potenziale di RoR, ma è relativamente nuovo quadro e ha ancora non hanno la maturità di RoR. (Nonostante questo, però, sceglierei web2py su RoR qualsiasi giorno ...)

Se "non si vuole vedere alcun HTML, mentre la costruzione è" allora si può dimenticare Django. Non si concentra su "point-click-fatto", si è focalizzata su professionisti che vanno dall'ideazione alla produzione nel più breve tempo possibile. La natura gerarchica del linguaggio di template può portare ad alcuni layout del sito nel complesso molto pulito. Io uso Django per tutti i miei siti più grandi e mi piace.

Anche se è scritto in PHP, Python non, si potrebbe dare un'occhiata alla nuova importante versione di WordPress che è uscito circa 2 o 3 mesi fa. In 3.0 hanno percorso una lunga strada da essere un ambiente "solo blog" e ci sono tonnellate di modelli già pronti per esso. Naturalmente, se si desidera modificare un modello, beh, c'è ancora una volta che grosso vecchio HTML. Sto considerando di usarlo per i miei clienti più piccoli che non possono trattare con l'amministratore di un server dedicato, ecc, che tende a venire con un sito Django.

Aggiornamento: Ah, ho perso il semi-battuta - ero troppo presto e che tende a farmi il tono sordo all'umorismo. Per quanto riguarda utilizzando i modelli di siti esistenti, ho fatto questo con successo con un paio di siti, sia quelli che erano statici e quelli originariamente guidati da script PHP ben scritti. Vi consiglio una lettura attenta del {% extends %} e {% include %} docs. Entrambi prendere o una stringa letterale o una variabile. Ho usato il metodo seguito e può essere molto utile per un sito che ha una forte gerarchia contraddistinto da cambiamenti di stile presso le filiali.

E 'anche la pena il tempo per capire l'ordine di ricerca per i modelli - può essere utilizzato con buoni risultati, ma può essere sconcertante se non Grok. Vedere le voci relative ai modelli nella impostazioni .py di file per questo ed altri utili gadget.

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