2011-01-20 18 views
11

Ho recentemente sviluppato con Python e lo adoro. È un enorme passaggio da PHP come linguaggio di scripting rapido (immagini, nessun nome di funzione pazzo!), E mi piacerebbe essere in grado di usarlo come un linguaggio di sviluppo web.Python come linguaggio di scripting web?

Ho sentito parlare di Django, ma voglio qualcosa di un po 'più semplice.

Eseguo Lighttpd, e ho già ottenuto uno script Python per funzionare, ma non posso passare argomenti tramite l'URL, come http://localhost/index.py?foo=bar. C'è una funzione/libreria che permetta questo?

Potrei andare in questo modo, quindi per favore dimmi se lo sono. Ma io assolutamente odio il PHP, ora che ho visto Python. ;)

+11

Benvenuti al lato chiaro. – nmichaels

+1

Quindi, qualsiasi aspetto negativo di Python come linguaggio server? Perché nessuno lo usa se è così fantastico? – Blender

+1

Molte persone lo usano. Un anno fa ho dovuto sconfiggere i reclutatori che volevano che facessi cose di Django con un bastone (penso che abbiano finalmente notato che sono stato in un ruolo di front end per due anni). – Quentin

risposta

11

Se si desidera un framework semplice ma potente, provare Flask.

(Poi imparare un po 'SQLAlchemy, e le cose improvvisamente diventato ancora più facile.)

+0

Buon Dio, mi ci sono volute 3 ore per far funzionare un semplice progetto Django, per non parlare del modo in cui lo volevo! Ma Flask è semplicemente * brillante *. È stato il modo in cui ho immaginato che il serveride assomiglia :) – Blender

+0

Django brilla su progetti con una certa struttura: in cui per lo più mostri il contenuto, molto di esso, e devi creare rapidamente interfacce di amministrazione per pubblicare questo contenuto. Non è molto facile iniziare per un piccolo progetto. Con Flask, non hai tutti questi macchinari di fantasia, ma puoi mettere un intero progetto in un unico file. (Due, preferibilmente: una configurazione separata è conveniente). – 9000

+0

Beh, Flask era buono per la mia webapp per piccoli libri. C'è poca interazione da parte dell'amministratore. – Blender

4

Supponendo che si stia utilizzando un'interfaccia CGI, il modulo cgi.

+0

Il mio sito web personale è di parecchi anni più vecchio di Django e quasi interamente scritto in CGI di Python. È ottimo. – nmichaels

+0

Wow, pensavo che CGI fosse un linguaggio strano usato per cose strane. Penso che abbiamo un vincitore (aspetterò solo un po ', solo per vedere cosa hanno da dire le altre persone). Ma sto assolutamente giocando con questo (PHP è stato appena sterminato: P). – Blender

+1

CGI è un modo standard (ma relativamente lento e inefficiente) per un server Web di eseguire un programma (che deve solo essere eseguibile, il protocollo è indipendente dalla lingua) e ottenere una risposta da esso anziché un file statico. Di solito uso FastCGI in questi giorni, che è simile, ma mantiene il programma in esecuzione in modo da non avere i costi di avvio (che sono il grande svantaggio di CGI). – Quentin

2

Posso consigliare molto Django. Non è così complicato. Quello che penso tu stia cercando al momento, tuttavia, è http://webpy.org/.

2

È possibile utilizzare CGI, ma è un po' controintuitivo e abbastanza doloroso per lavorare con (rispetto alle alternative). Se vuoi alleviare quel dolore, ti suggerisco di usare un framework. Ci sono un bel po 'di quadri là fuori, il più popolare è Django, Piloni e pochi altri. Puoi vedere l'elenco completo here e decidere tu stesso.

Se stai cercando qualcosa full stack, Django. Se vuoi qualcosa di piccolo, Flask, web2py e molti altri funzionano.

1

È possibile utilizzare WSGI che è un'interfaccia standard tra server Web e framework o applicazioni Web Python. Questo tutorial è davvero utile per iniziare con WSGI. Include l'analisi di richieste GET e POST (come hai menzionato nella domanda).

+0

Ecco il documento applicabile dai documenti ufficiali http://www.python.org/doc//current/library/wsgiref.html#module-wsgiref –

3

È possibile controllare il progetto so-starving per visualizzare una semplice applicazione scritta in una varietà di diversi framework web Python e scegliere quella che si concorda con!

non riesco a passare gli argomenti ad esso tramite l'URL , come .../index.py?foo=bar. esiste una funzione/libreria che consente questo ?

Uno qualsiasi dei framework Python disponibili consente di mappare in modo personalizzato i propri URL con funzioni Python specifiche. L'URL sopra riportato sarebbe più simile a .../blog/foo/bar e la tua app saprebbe cosa fare con i bit aggiuntivi.

Su una nota personale, io secondo la raccomandazione per Flask - È un ottimo microframework per principianti e utile per i professionisti che lavorano su piccoli progetti.

Mi sono anche innamorato della struttura Pyramid, che è un po 'più complessa ma adatta molto bene per le applicazioni più grandi.

+0

Grazie per il collegamento –

+0

+1 per il collegamento. – 9000

1

Sono un po 'sorpreso che nessuno abbia ancora chiamato Turbogears (http://turbogears.org/). È abbastanza nuovo, ma ha molte promesse e lo trovo abbastanza semplice e facile da usare. Non ho provato molti altri come thorrowly anche se così potrei mancare fuori :)

ho intenzione di controllare BOCCETTA ora, però: P

Problemi correlati