Web2py - Panoramica del framework

web2py è un framework web full-stack che può essere utilizzato da uno sviluppatore per sviluppare completamente un'applicazione web. Include l'integrazione del database SQL e il server web multi-thread per la progettazione di un programma.

Interfaccia Web per la progettazione di un programma utente

Una volta eseguito il comando come da sistema operativo, web2py visualizza una finestra di avvio e quindi visualizza un widget GUI che chiede all'utente di scegliere:

  • una password amministratore monouso,
  • l'indirizzo IP dell'interfaccia di rete da utilizzare per il server web,
  • e un numero di porta da cui servire le richieste.

L'amministratore include tutta l'autorità per l'aggiunta e la modifica di qualsiasi nuova applicazione web.

Per impostazione predefinita, web2py esegue il suo server web su 127.0.0.1:8000 (porta 8000 su localhost) ma un utente può eseguirlo su qualsiasi indirizzo IP e porta disponibili secondo il requisito.

Il widget della GUI di web2py verrà visualizzato come mostrato di seguito.

La password viene utilizzata nell'interfaccia amministrativa per qualsiasi modifica nel nuovo modulo.

Dopo che l'utente ha impostato la password di amministrazione, web2py avvia il browser web nella pagina con il seguente URL: http://127.0.0.1:8000/

La pagina di benvenuto del framework verrà visualizzata come mostrato di seguito.

Progettare un programma di base in web2py

Dopo aver avviato l'applicazione web2py, con l'URL sopra menzionato, possiamo utilizzare l'interfaccia amministrativa per creare un nuovo modulo, ad esempio, “helloWorld”.

L'interfaccia amministrativa chiederà la password a scopo di autenticazione poiché l'amministratore detiene tutta l'autorità per l'aggiunta e la modifica di qualsiasi nuova applicazione web.

L'istantanea fornita sopra include i dettagli della pagina, che elenca tutte le applicazioni web2py installate e consente all'amministratore di gestirle. Per impostazione predefinita, il framework web2py viene fornito con tre applicazioni. Sono -

  • Un admin applicazione, che l'utente sta implementando attualmente.

  • Un examples applicazione, con la documentazione interattiva online e un'istanza del sito web ufficiale web2py.

  • UN welcomeapplicazione. Include il modello di base per qualsiasi altra applicazione web2py. È anche conosciuto comescaffolding application. L'applicazione accoglie anche un utente all'avvio.

Sia il nome della nuova applicazione “helloWorld”.

Una volta creata una nuova applicazione, l'utente viene reindirizzato a una pagina che comprende vista, modello e controller della rispettiva applicazione.

L'utente può esaminare l'applicazione appena creata menzionando il seguente URL: http://127.0.0.1:8000/helloWorld

Per impostazione predefinita, un utente può visualizzare la seguente schermata premendo l'URL sopra menzionato.

Per stampare il messaggio della data applicazione web “helloWorld”, la modifica viene apportata in default.py controller.

La funzione denominata “index”è la funzione predefinita per restituire il valore e visualizzare l'output necessario. Come accennato in precedenza, la stringa“Hello World- Welcome to my first web application” viene utilizzato come valore di ritorno, che visualizza l'output sullo schermo.

L'output viene visualizzato come segue:

Postback

Il meccanismo di convalida dell'input del modulo è molto comune e non è considerato una buona pratica di programmazione. L'input viene convalidato ogni volta, il che è un onere per la convalida.

Un modello migliore in web2py è inviare i moduli alla stessa azione, che li genera. Questo meccanismo è chiamato come“postback”che è la caratteristica principale di web2py. In breve, l'auto-sottomissione si ottiene inpostback.

def first():
   if request.vars.visitor_name: #if visitor name exists
      session.visitor_name = request.vars.visitor_name
      redirect(URL('second'))#postback is implemented
   return dict()

Applicazione CRUD

web2py include applicazioni che eseguono le funzioni di Crea, recupera, aggiorna ed elimina. IlCRUD cycle descrive le funzioni elementari di un database, che è persistente.

Tutta la logica dell'applicazione è scritta nei modelli, che vengono recuperati dai controllori e mostrati agli utenti con l'aiuto della vista.

appadmin

Per PHP, il server delle applicazioni include l'elenco di tutti i database in phpmyadmin. In modo simile, web2py fornisce un'interfaccia per la gestione, la creazione e l'eliminazione di tabelle o database, che viene definita come“appadmin.”

Prima di implementare la logica dietro le tabelle, è necessario creare il database e le tabelle associate.

L'URL a cui accedere appadmin -

http://127.0.0.1:8000/applicationname/appadmin

Premendo l'URL, l'utente riceverà l'elenco delle tabelle associate per la data applicazione.

Questa interfaccia non è destinata a essere pubblica. È progettato per ottenere un facile accesso al database. Consiste di due file: un controller“appadmin.py” e una vista “appadmin.html”.

Può impaginare fino a 100 record alla volta. L'uso di“appadmin” è discusso nei capitoli successivi.