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