Web2py - Introduzione
web2pyè definito come un framework web gratuito e open source per uno sviluppo agile che coinvolge applicazioni web basate su database; è scritto in Python e programmabile in Python. È un framework full-stack; è costituito da tutti i componenti necessari, uno sviluppatore deve creare un'applicazione web completamente funzionale.
web2py framework segue il Model-View-Controller modello di esecuzione di applicazioni Web a differenza dei modelli tradizionali.
Modelè una parte dell'applicazione che include la logica per i dati. Gli oggetti nel modello vengono utilizzati per recuperare e memorizzare i dati dal database.
Viewè una parte dell'applicazione, che aiuta a rendere la visualizzazione dei dati agli utenti finali. La visualizzazione dei dati viene recuperata da Model.
Controllerè una parte dell'applicazione, che gestisce l'interazione dell'utente. I controller possono leggere i dati da una vista, controllare l'input dell'utente e inviare i dati di input al modello specifico.
web2pyha una funzionalità incorporata per gestire i cookie e le sessioni. Dopo aver eseguito il commit di una transazione (in termini di SQL), anche la sessione viene archiviata contemporaneamente.
web2pyha la capacità di eseguire le attività a intervalli pianificati dopo il completamento di determinate azioni. Questo può essere ottenuto conCRON.
web2py - Flusso di lavoro
Dai un'occhiata al diagramma del flusso di lavoro fornito di seguito.
Il diagramma del flusso di lavoro è descritto di seguito.
Il Models, Views e Controller componenti compongono l'applicazione web2py dell'utente.
Più applicazioni possono essere ospitate nella stessa istanza di web2py.
Il browser invia la richiesta HTTP al server e il server interagisce con Model, Controller e View per recuperare l'output necessario.
Le frecce rappresentano la comunicazione con i motori di database. Le query del database possono essere scritte in SQL raw o utilizzando il Web2py Database Abstraction Layer (che sarà discusso in ulteriori capitoli),web2py il codice dell'applicazione è indipendente da qualsiasi motore di database.
Model stabilisce la connessione al database con il database e interagisce con il file Controller. IlController d'altra parte interagisce con il file View per rendere la visualizzazione dei dati.
Il Dispatchermappa l'URL richiesto come indicato nella risposta HTTP a una chiamata di funzione nel controller. L'output della funzione può essere una stringa o una tabella hash.
I dati sono resi da View. Se l'utente richiede una pagina HTML (impostazione predefinita), i dati vengono visualizzati in una pagina HTML. Se l'utente richiede la stessa pagina in XML, web2py cerca di trovare una vista che possa rendere il dizionario in XML.
I protocolli supportati di web2py includono HTML, XML, JSON, RSS, CSV e RTF.
Model-View-Controller
Il model-view-controller la rappresentazione di web2py è la seguente:
Modello
"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(‘phone’))
Il Modelinclude la logica dei dati dell'applicazione. Si connette al database come indicato nella figura sopra. Considera che SQLite viene utilizzato ed è archiviato instorage.sqlitefile con una tabella definita come dipendente. Se la tabella non esiste, web2py aiuta creando la rispettiva tabella.
Controller
Il programma "default.py" è il Controller.
def employees():
grid = SQLFORM.grid(db.contact, user_signature = False)
return locals()
In web2py, La mappatura degli URL aiuta ad accedere alle funzioni e ai moduli. Per l'esempio precedente, il controller contiene una singola funzione (o "azione") chiamata dipendenti.
L'azione intrapresa da Controller restituisce una stringa o un dizionario Python, che è una combinazione di chiave e valore che include un insieme locale di variabili.
Visualizza
"default/contacts.html" è il View.
{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}
Per l'esempio fornito, View visualizza l'uscita dopo l'esecuzione della funzione di controllo associata.
Lo scopo di questo Viewè rendere le variabili nel dizionario, che è in forma di HTML. IlView file è scritto in HTML, ma incorpora codice Python con l'aiuto di {{ and }} Delimitatori.
Il codice incorporato nell'HTML è costituito da codice Python nel dizionario.
Inizia con web2py
web2py è disponibile in pacchetti binari per tutti i principali sistemi operativi come Windows, UNIX e Mac OS X.
È facile installare web2py perché:
Comprende l'interprete Python, quindi non è necessario che sia preinstallato. C'è anche una versione del codice sorgente che gira su tutti i sistemi operativi.
Il seguente collegamento comprende i pacchetti binari di web2pyper il download secondo le necessità dell'utente - www.web2py.com
Il web2pyframework non richiede preinstallazione a differenza di altri framework. L'utente deve scaricare il file zip e decomprimerlo secondo i requisiti del sistema operativo.
Il web2py framework è scritto in Python, che è un linguaggio dinamico completo che non richiede alcuna compilazione o installazione complicata per essere eseguito.
Utilizza una macchina virtuale come altri linguaggi di programmazione come Java o .net e può compilare in modo trasparente il codice sorgente scritto dagli sviluppatori.
Sistema operativo | Comando |
---|---|
Unix e Linux (distribuzione dei sorgenti) | python web2py.py |
OS X (distribuzione binaria) | apri web2py.app |
Windows (distribuzione binaria web2py) | web2py.exe |
Windows (distribuzione web2py di origine) | c: /Python27/python.exe web2py.py |