2009-07-30 10 views
6

Ho iniziato a imparare Python attraverso alcuni libri e tutorial online. Capisco la sintassi e le operazioni di base, ma mi rendo conto che il modo corretto di comprendere la lingua sarebbe di fare effettivamente un progetto su di esso.programmazione web python

Ora, quando dico un progetto, intendo qualcosa di utile, forse qualche app web. Ho iniziato a cercare programmi web in python e sono arrivato a un paio di tutorial che facevano riferimento a un codice molto complesso. la maggior parte si basava, credo, sulla programmazione CGI.

Ora quello che vorrei davvero apprezzare è se qualcuno potesse fornire alcune linee guida su come un principiante come me può capire i vari aspetti della programmazione del web attraverso python. perché le cose che sto vedendo mi stanno solo confondendo. Qualcuno può aiutare, per favore?

risposta

4

Se vuoi creare una potente applicazione web con Python, Django è la strada da percorrere. Puoi iniziare con la documentazione allo http://docs.djangoproject.com/en/dev/ o allo Django Book (consiglio quest'ultimo). È un po 'complicato da cogliere come un principiante, ma ne vale assolutamente la pena :)

Buona fortuna!

+0

voglio usare python con il client opensocial per python. è possibile con il framework Django? – amit

+0

Non ho mai usato OpenSocial, ma sembra buono: http://code.google.com/p/django-opensocial/ –

+0

è vuoto. nessun progresso è stato fatto. penso che il normale client python per opensocial non lavori con django? – amit

6

+1 per Django, anche se il "libro Django" è un po 'più semplice da capire (soprattutto se sei solo ricevendo partenza con python): http://www.djangobook.com/en/2.0/

+0

djangobook.com è un'ottima risorsa, inizia da lì e crea piccole app personali per te – amoeba

2

Google App Engine utilizza pitone e viene eseguito sull'infrastruttura di Google: http://code.google.com/appengine/

Hanno molti tutorial ed esempi che possono aiutarti a iniziare.

2

Iniziare scrivendo un'applicazione di rete davvero semplice.

Provare a iniziare con un programma di piccole dimensioni che è in ascolto su una porta e fornisce un messaggio di stato quando viene interrogato. Ad esempio, quando un browser Web lo chiama, visualizzerà l'ora e alcuni dati sul sistema.

Questo ti renderebbe fondamentali le basi e troverai il percorso da lì in poi.

EDIT:

cominciare con Making a simple web server in Python. Se vuoi imparare qualche background teorico, prova il leggendario Beej's Guide to Network Programming. Gli esempi sono in C, ma si otterrà attraverso termini come presa, legano, porto e ascoltare.

Se non sei soddisfatto del tutorial che ho fornito sopra, solo Google "Python server" o "Python network tutorial" e ne troverai tantissimi.

+0

che è una grande idea.hai qualche link da dove posso iniziare? – amit

+0

Sì, aggiornerò presto. –

0

Esistono molti framework Web per Python.

Il più popolare è Django, ma non credete alla gente qui che è "l'unico modo" o simile. Semplicemente non ne hanno mai usati altri.

Guardati intorno per vedere cosa vuoi, leggi le esercitazioni per vedere cosa ha senso per te. E se non riesci a prendere una decisione, allora vai per Django. :-)

+0

Django è abbastanza ricco di funzionalità, ma chiamarlo "full stack" lo sta esagerando un po '. Le persone discutono regolarmente distribuendo contrib.admin indipendentemente dal django. – ken

+0

Gli stessi Django rivendicano che Django sia pieno, quindi non penso che stia esagerando assolutamente. Perché contrib.admin sarebbe rilevante per questo mi sfugge. –

2

È possibile leggere gratuitamente le parti sostanziali di "Python in poche parole" online - sebbene le pagine selettive vengano omesse su richiesta dell'editore per indurti ad acquistare il libro - e altre parti solo parzialmente sovrapposte della seconda edizione here. I capitoli che ti sto indicando sia nella prima che nella seconda edizione riguardano le prese e la programmazione della rete lato server, quelli immediatamente precedenti riguardano la rete e la programmazione web con particolare attenzione ai client, mentre quelli successivi coprono CGI e alternative, HTML, XML, ecc.

Non coperto, a causa dell'età dei libri, è la migliore alternativa a CGI, WSGI (può effettivamente essere implementato su CGI, ma anche in modo molto efficiente su Apache, nginx, Google App Motore, ecc., E in pratica tutti i moderni framework web Python funzionano bene su WSGI - ci sono anche alcuni "non abbastanza framework" come werkzeug che sono totalmente focalizzati su WSGI).

Per consegnare un'applicazione Web Python funzionante al più presto, Django è probabilmente la scelta migliore e sicuramente più popolare oggi; ma proprio gli aspetti che rendono questo ambiente ad alta produttività (l'enorme quantità di cose che fa "per te e per te" in modo nascosto e magico) lo rendono meno utile per scopi di puro apprendimento di più quadri modulari, meno astratti, meno magici come Incolla, Piloni, Werkzeug, & c. È molto istruttivo iniziare su WSGI e aggiungere componenti e middleware utili solo gradualmente, in quanto si capisce perché è meglio che fare tutto da soli "a mano".

Per ulteriori informazioni su WSGI, vedere il proprio site che è ricco di link utili & documenti.

+0

questo è quello che stavo pensando mentre leggevo di django. la mia preoccupazione principale per l'utilizzo di un framework era il fatto che non stavo imparando Python di per sé. come andare sul compito se non voglio usare un framework? – amit

+0

Si inizia con il sito WSGI e le esercitazioni a cui si collega, forse alcune delle cose intermedie (non è necessario molto), quindi si installa il client Python opensocial e l'SDK del motore dell'app: gli esempi del client utilizzano appengine, tramite WSGI e il "non-framework" estremamente leggero che viene fornito con esso (solo una risposta e gli oggetti di richiesta da WebOb e lo schema di dispatching di URL più semplice che tu abbia mai visto) - quindi ottieni un account per l'app engine free e un nome di app e inizia a sviluppare le tue app opensocial (e distribuirle gratuitamente a qualsiasi probabile traffico!). –

0

Se si inizia con Appengine (Django, webapp, DIY with WebOb, piloni - qualsiasi cosa), quindi se si ottiene un'applicazione scritta, non importa quanto stupida o banale, è possibile distribuirla e continuerà a funzionare e sarà possibile condividere con le persone. L'intera attività deploy-and-keep-work è in gran parte non correlata alla programmazione o Python, ma è anche molto lavoro. Saltando si può concentrarsi sulla programmazione e avere la motivazione di fare applicazioni reali.

Problemi correlati