cherrypy-0.9-tutorial
61 pages
Romanian

cherrypy-0.9-tutorial

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
61 pages
Romanian
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

CherryPy TutorialRelease 0.9Remi Delon19 gennaio 2004Email: remi@cherrypy.orgcCopyright 2002-2003 CherryPy Team (team@cherrypy.org) All rights reserved.See the end of this document for complete license and permissions information.SommarioCherryPy Ł un tool Python-based per sviluppare siti web dinamici. Provvede tutte le caratteristiche di un applicationserver enterprise-class pur restando veloce e facile da imparare.CherryPy permette a sviluppatori di costruire applicazioni web nello stesso modo in cui avrebbero scritto qualsiasialtro programma object-oriented in Python. Il risultato Ł poco codice sviluppato in tempi brevi.Unisce molti concetti innovativi, che lo rendono unico nel suo approccio per lo sviluppo di siti web.Pu essere utilizzato su molte piattaforme (in pratica in tutte quelle dove pu essere installato ed eseguito Python) edŁ disponibile sotto licenza GPL.CherryPy Ł ora un prodotto con quasi 2 anni di sviluppo ed Ł provato in quanto a stabilit e velocit . E’ attualmenteusato nella produzioni di molti siti, dai piø semplici a quelli piø esigenti.Cosa non meno importante: Ł divertente lavorare con CherryPy :-)INDICE1 Download, installazione ed esecuzione demo 11.1 Prerequisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Download ed installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 Eseguire i demo . . . . . . . . . . . . . . . . . . ...

Informations

Publié par
Nombre de lectures 151
Langue Romanian

Extrait

CherryPy Tutorial
Release 0.9
Remi
Delon
19 gennaio 2004
Email:
remi@cherrypy.org
Copyright  Team (team@cherrypy.org) Allc 2002-2003 CherryPy
See
the
end
of
this
document
for
complete
license
and
permissions
rights reserved.
information.
Sommario
CherryPy è un tool Python-based per sviluppare siti web dinamici. Provvede tutte le caratteristiche di un application serverenterprise-classpurrestandoveloceefaciledaimparare. CherryPy permette a sviluppatori di costruire applicazioni web nello stesso modo in cui avrebbero scritto qualsiasi altro programma object-oriented in Python. Il risultato è poco codice sviluppato in tempi brevi. Unisce molti concetti innovativi, che lo rendono unico nel suo approccio per lo sviluppo di siti web. Può essere utilizzato su molte piattaforme (in pratica in tutte quelle dove può essere installato ed eseguito Python) ed è disponibile sotto licenza GPL. CherryPy è ora un prodotto con quasi 2 anni di sviluppo ed è provato in quanto a stabilità e velocità. E’ attualmente usato nella produzioni di molti siti, dai più semplici a quelli più esigenti. Cosanonmenoimportante:èdivertentelavorareconCherryPy:-)
INDICE 1 Download, installazione ed esecuzione demo 1 1.1 Prerequisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Download ed installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Eseguire i demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.4 Fermare il server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Concetti usati in CherryPy 3 2.1 Creazione di un sito web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Gestione delle richieste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Programmare un sito web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Creazione del primo sito web: Hello, world ! 5 4 Creazione del primo sito dinamico: Hello, you ! 7 5 I linguaggi di template: CHTL e CGTL 9 5.1 Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.2 Mettiamo tutto insieme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6 Views, function ed altro 15 6.1 Differenti architetture per il codice sorgente di un sito web . . . . . . . . . . . . . . . . . . . . . . . 15 6.2 Altri esempi usando function, mask e view insieme . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 7 Classi, istanze, metodi e URL 25 8 Usare la programmazione ad oggetti su un sito web 27 9 Usare diversi moduli 31 10 HTTP e autenticazione cookie-based 33 11 Trattare form HTML 35 12 Configurare CherryPy 37 12.1 Cambiare la porta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 12.2 Offrire contenuto statico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 12.3 Cambiare il nome del file di configurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 13 Usare le proprie opzioni di configurazione 39 i
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
Approntare il vostro sito per la produzione 15.1 Scelta della configurazione . . . . . . . 15.2 Opzioni del file di configurazione . . .
15
. .
. .
17
History e Licenza 17.1 License . . . . . . . . . . . . . . . . .
E poi ?
16
. .
. .
. .
. .
. .
. .
. .
. .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
14
. .
. .
. .
. .
. .
. .
. .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
Variabili e funzioni speciali 14.1 Variabili speciali . . . . . . . . . . . . 14.2 Funzioni speciali . . . . . . . . . . . . 14.3 Esempi . . . . . . . . . . . . . . . . .
53
47 47 50
55 55
41 41 42 44
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ii
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
CAPITOLO ONE
Download, installazione ed esecuzione demo
1.1 Prerequisiti CherryPy usa 100% puro codice Python, in tal modo può essere eseguito ovunque è presente Python (Windows, Unix, Max, ...). Tutto ciò di cui avrete bisogno è una distribuzione di Python 2.1, o maggiore, presente sulla vostra macchina.
1.2 Download ed installazione Scaricate l’ultima versione di CherryPy da questa paginahttp://www.cherrypy.org/downloade unzippate/untarrate il file. Questa operazione creerà un directoryCherryPy-v ersion/con diversi file e sottodirectory.
1.3 Eseguire i demo Entrate nella directory ‘demo/’ e digitate il seguente comando:
python ../cherrypy.py Root.cpy
1 2 Questo creerà un file chiamato ‘RootServer.pyPer eseguirlo basterà: 1pythondeve essere presente nel vostro PATH and e deve essere almeno la versione 2.1 o maggiore 2Semakeè installato sulla vostra macchina potete semplicemente digitare ‘make
1
[remi@serveur demo]$ python RootServer.py Reading parameters from RootServer.cfg ... Calling initServer() ... Reading gaz station database for the Prestation demo ... Done reading database Starting Httpd service ... Server parameters: portOrUnixFile: 8000 numberOfProcs: 1 staticContentList: [(’images’, ’images’)] Serving on 8000
Aprite quindi un web browser e digitate:http://localhost:8000/, e voilà Potete giocare con un website demo chiamatoPrestationcon i piccoli test che mostrano alcune delle caratteristicheo di CherryPy.
1.4 Fermare il server
InmolticasiperstoppareilseverbasteràpremereCtrl-C. Questo non funzionerà se state usando Python 2.1 o 2.2 su Windows e il modulotimeoutsocket.pynon è installato. In questocaso,potetefermareilserverpremendoCtrl-Break. Se siete su un sistema Unix-based e il sever è in esecuzione in background, potete fermarlo digitando kill <PID>. Ora che avete scaricato CherryPy ed eseguito i demo, è il momento di capire come uno sviluppatore può utilizzare CherryPy per costruire un sito web...
2
Capitolo 1. Download, installazione ed esecuzione demo
CAPITOLO TWO
Concetti usati in CherryPy
2.1 Creazione di un sito web CherryPy si pone tra un compilatore e un application server. Come un compilatore, legge file in input e genera un eseguibile. L’eseguibile contiene tutto il necessario per la gestione del sito web, incluso un proprio HTTP server. Come un application server, mette a disposizione siti web dinamici che possono essere uniti ad altre risorse, come un database.
2.2 Gestione delle richieste In un server generato da CherryPy, ogni richiesta di un client (per esempio un browser che richiede una pagina), viene trasformata in una chiamata al metodo di una classe. I parametri inviati dal client diventano gli argomenti di una funzione. Con CherryPy, gli sviluppatori di siti web devono solo implementare queste classi e questi metodi. Non si devono preoccupare se i parametri sono inviati con un GET o un POST, se arrivano come una piccola stringa o un file che deve essere scaricato. Sono tutti convertiti in una stringa regolare Python e passati come argomento a un metodo. Il tutto in modo trasparente allo sviluppatore.

2.3 Programmare un sito web I file di input per CherryPy sono scritti usando un’estensione del linguaggio Python. Questa estensione definisce classi speciali chiamateCherryClassoltre a differenti metodi per queste CherryClass: function: le funzioni presenti in questo metodo sono usate per processare dati e sono scritte in Python classico. Queste funzioni generalmente ricevono dati in ingresso e ritornano dati (non HTML) come uscita. mask Sono funzioni presenti in questo metodo sono usate per interpretare dati. scritte in CHTL o CGTL: le (che sono i linguaggi di templating di CherryPy). Queste funzioni ricevono dati in ingresso e rendono HTML (o XML; Javascript, ...) in uscita. viewe possono essere usate in due modi differenti:: le funzioni sono scritte in Python classico possono essere usate come funzioni mask, per interpretare dati. questo caso, la sola differenza con In funzioni mask è il linguaggio col quale sono scritte. Per comprendere bene, diciamo che una pagina per lo più statica e con qualche dato dinamico sarà scritta con una funzione del metodo mask (in CHTL o CGTL). Una pagina con molto contenuto dinamico e poco statico sarà scritta come view (in Python).

3
possono essere usate come unione tra una funzione e una maschera. In questo caso il codice sorgente di una funzione view sarà tipicamente:applica questa maschera al risultato di questa funzione
Questo concetto di metodi (function, mask e view) usato in CherryClass è una delle principali caratteristiche di Cher-ryPy. Una classe CherryClass può contenere tutte le informazioni per processare dati e visualizzarne il risultato, rendendola un modulo a se stante che potrà essere facilmente riutilizzato o ereditato. Abbiamo così visto alcuni dei concetti usati in CherryPy. Altri saranno descritti in seguito, ma è il momento di creare il nostro primo sito web...
4
Capitolo 2.
Concetti usati in CherryPy
CAPITOLO THREE
Creazione del primo sito web: Hello, world !
Allo stesso livello della directory ‘demo/’, creiamo una directory chiamata ‘hello/’. Entriamo nella directory ‘hello/’ e creiamo un file chiamato ‘Hello.cpy’ che dovrà contenere le seguenti linee: CherryClass Root: mask: def index(self): <html><body> Hello, world ! </body></html>
1 Per compilare il file digitate:
python ../cherrypy.py Hello.cpy
Questo comando creerà un file chiamato ‘HelloServer.pyconterraà tutto il necessario per visualizzare il sito’, il quale web (incluso un server HTTP). Per farlo partire, basta digitare:
python HelloServer.py
Per vedere la pagina, aprite un browser e andate all’indirizzo:http://localhost:8000/ Cosa abbiamo imparato: I sorgenti per CherryPy sono scritti usando una estensione del Python (alune parti usano il linguaggio di template di CherryPy). Il nome dei file sorgenti per CherryPy hanno l’estensione ‘.cpy’ e l’iniziale maiuscola. Come ogni altro sorgente Python, i file sorgente per CherryPy sono sensibili all’indentazione. Date un’occhiata alla nota in calce per conoscere come CherryPy usa l’indentazione. 1meno di 4 spazi per l’indentazione (p.e. possibile usare più o  E’un TAB per indentare il vostro codice.Potete usare sia 4 spazi bianchi che 3) specificando l’opzione -W (p.e. -W 3) per istruire CherryPy all’uso di 3 spazi invece di 4. Notate che, a differenza del Python, un TAB non corrisponderà mai a 2 livelli di indentazione ma sempre ad un solo livello.
5
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents