Se sei interessato allo sviluppo web, troverai sicuramente Django interessante. Django è essenzialmente un framework di sviluppo web basato su Python. È stato progettato per farti risparmiare un sacco di tempo e rendere lo sviluppo web molto più semplice e divertente. È possibile utilizzare Django per creare e gestire applicazioni Web di alta qualità senza troppi problemi.

Lo sviluppo web in sé è un mix di creatività ed elementi divertenti e un mucchio di cose ripetitive. Quello che Django fa è che ti consente di concentrarti sui bit divertenti e sulla parte chiave della tua applicazione web, rendendo le parti ripetitive meno una seccatura. In altre parole, fornisce una scorciatoia per frequenti attività di programmazione e astrazioni di schemi comuni nello sviluppo web. Fornisce inoltre chiare convenzioni sulla risoluzione dei problemi. Fa tutto questo dandoti anche la libertà di lavorare al di fuori dell'ambito del framework quando necessario.

Che cos'è un framework Web?

Naturalmente, prima di introdurre Django, dobbiamo prima sapere quali sono i framework Web, data la loro importanza nelle applicazioni web di oggi. Per comprendere i framework Web, diamo un'occhiata a come un'applicazione Python sta codificando quando non si utilizza un framework. Il modo più semplice per farlo è con una Common Gateway Interface (CGI). Devi solo creare uno script con un output HTML e quindi salvare lo script con un. estensione cgi a un server web. Per le pagine semplici, è probabilmente meglio un approccio di scrittura da zero. Il codice è più semplice da capire e non c'è altro codice da leggere. È anche più semplice da implementare.

Nonostante la sua semplicità, l'approccio presenta diverse sfide. Ad esempio, cosa faresti se ti occorressero più parti dell'applicazione per connetterti a un database? Se si utilizza il metodo precedente, è necessario duplicare il codice di connessione del database in ogni script CGI. Questo non solo può essere ingombrante, ma può anche aumentare le possibilità di insinuarsi degli errori umani. Il metodo più semplice, tuttavia, sarebbe mettere questo codice in una funzione condivisa. Quando il codice viene riutilizzato in vari ambienti con una password e un database separati, sarà necessario configurarlo per ciascun ambiente specifico.

Inoltre, se non si ha molta esperienza con Python, è più probabile che si verifichino errori minori che possono causare l'arresto anomalo dell'applicazione. La logica della pagina si separerebbe idealmente dagli elementi di visualizzazione HTML, in modo che l'editor possa modificare ciascun elemento senza influire sull'altro.

Un framework Web risolve questi problemi formando un'infrastruttura per programmare le applicazioni. Questo ti aiuta a concentrarti sulla scrittura di codice più gestibile e più pulito. Questo è anche ciò che fa Django.

Model-View-Controller

Django segue da vicino il modello Model-View-Controller (MVC), al punto che potrebbe quasi essere classificato come un framework MVC. Questo modello separa la modellazione del dominio, le presentazioni e l'azione basata sull'input dell'utente in tre classi univoche. Per capirlo meglio, dai un'occhiata a uno script CGI Python.

Uno script CGI standard includerà alcuni elementi HTML introduttivi per il front-end e quindi una connessione a un database. Ecco un esempio di codice di una connessione al database in un CGI Python:

connessione = MySQLdb.connect (utente = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Successivamente, hai un comando di esecuzione per eseguire la query. È quindi disponibile un codice HTML per visualizzare i risultati della query nel front-end. Infine, chiudi la connessione con una linea semplice:

connection.close ()

Ora, con Django, hai tre file Python, identificati con il loro. suffisso. Il primo sarebbero le tabelle del database, models.py. Il secondo conterrebbe la logica dell'applicazione, views.py. E il terzo avrebbe la configurazione dell'URL, urls.py. Infine, avresti alcuni elementi HTML per presentare i risultati al front-end. La separazione su vari file Python è la chiave qui; non devi preoccuparti della sintassi.

Il file models.py ha una descrizione della tabella del database. Utilizzando questa classe Python, è possibile creare, eliminare, recuperare e aggiornare i record utilizzando un semplice codice Python invece di ripetere le istruzioni SQL. Il file views.py ha la logica aziendale e la funzione latest_books () è la vista. Il file urls.py specifica quale vista viene chiamata per un determinato URL. Ad esempio, è possibile codificare una vista da chiamare nel caso in cui il browser carichi un URL di dominio / esempio /. Ciò significa che se il tuo dominio è abc.com, una visita all'URL abc.com/example/ chiamerebbe questa funzione.

Il modello HTML descrive il design della pagina. Utilizza un linguaggio modello e istruzioni logiche di base. Complessivamente, questi pezzi seguono il modello MVC.

MVC è un metodo di sviluppo software in quanto il modello, che è il codice per accedere e definire i dati, è separato dal controller, che è la logica di instradamento delle richieste, che è anche separata dalla vista, che è l'interfaccia utente. MVC è utile in quanto i componenti sono accoppiati molto liberamente. Ogni parte dell'applicazione web ha quindi i suoi singoli scopi e può essere cambiata indipendentemente senza dover cambiare drasticamente altri pezzi. Ad esempio, puoi cambiare l'URL in qualsiasi parte dell'applicazione e cambierebbe l'implementazione, e senza toccare il codice Python che lo rende. È possibile rinominare una tabella nel database e specificare le modifiche in un'unica posizione senza sostituire dozzine di file.

Corsi consigliati

  • Programma su Windows 10
  • Corso bundle di test software professionale
  • Pacchetto di formazione sulla programmazione Python
  • Completa l'allenamento di Django

Una breve storia di Django

Ora che sai qualcosa sui framework web, è tempo di scavare un po 'nella storia di Django. Sapere da dove viene Django può aiutarti a capire meglio come funziona e come utilizzare le sue scorciatoie. Se hai creato applicazioni web, probabilmente conosceresti già i problemi associati a CGI. Il classico percorso di sviluppo web va così:

  1. Scrivi un'applicazione web da zero
  2. Scrivi una seconda domanda
  3. Ti rendi conto che ci sono diversi elementi comuni tra le due applicazioni
  4. Rifattrai il codice in modo che l'applicazione 1 abbia lo stesso codice del secondo
  5. Ripeti 2-4 alcune volte
  6. Ti rendi conto di aver formato un framework

Ecco come è stato creato anche Django. È stato formato da applicazioni del mondo reale che sono state scritte da un team di sviluppo web in Kansas. È stato creato nel 2003, quando i programmatori web Adrian Holovaty e Simon Willison hanno iniziato a utilizzare Python per la creazione di applicazioni.

Il team di World Online, responsabile della manutenzione e della produzione di numerosi siti di notizie locali, ha riscontrato enormi vantaggi in un ambiente di sviluppo web dettato dalle scadenze del giornalismo. Per i siti, i giornalisti e i dirigenti hanno voluto aggiungere funzionalità e creare applicazioni in tempi rapidi, con solo giorni o ore di preavviso. I due sviluppatori hanno quindi creato un framework di sviluppo Web per risparmiare tempo e creare applicazioni sostenibili entro le scadenze.

Il team ha quindi rilasciato il framework come software open source nell'estate del 2005, nominandolo Django come Django Reinhardt, probabilmente uno dei più grandi chitarristi jazz di tutti i tempi. Da allora, Django si è affermato come un popolare progetto open source con migliaia di sostenitori, collaboratori e utenti in tutto il mondo. Due degli sviluppatori originali, Jacob e Adrian, hanno ancora fornito la loro guida centrale per la crescita del framework.

Ma perché stiamo discutendo della storia di Django? Bene, per due motivi. Il primo è che aiuta a identificare e spiegare il "punto debole" del software. Django è nato da un ambiente di notizie ed è quindi pieno di funzionalità più adatte ai siti incentrati sui contenuti, come il Washington Post, Amazon e Craigslist, che offrono informazioni dinamiche e basate su database. Tuttavia, Django è anche buono per qualsiasi sito web dinamico. Il secondo motivo è che la storia di Django ti aiuta a capire come è stata modellata la cultura della sua comunità.

Django è stato formato dal codice del mondo reale e non da un prodotto commerciale o esercizio accademico. Di conseguenza, è fortemente focalizzato sulla risoluzione dei problemi affrontati dagli sviluppatori Web originali e dei problemi che gli attuali sviluppatori devono ancora affrontare. Ciò significa che Django vede miglioramenti quasi giornalieri. Il personale addetto alla manutenzione del framework ha un interesse acquisito nel garantire che lo strumento risparmi tempo per lo sviluppatore e produca applicazioni di facile manutenzione e quelle che funzionano bene con carichi pesanti. Vogliono tutti rendere le cose più facili per se stessi, in altre parole.

Installazione di Django

Quindi, dovrebbe essere abbastanza chiaro ormai che Django è uno strumento per semplificare lo sviluppo web. Ma l'installazione dello strumento stesso può richiedere alcuni passaggi a causa del numero di parti mobili negli odierni ambienti di sviluppo web.

Django è fondamentalmente un codice Python, quindi funziona ovunque Python, che include anche alcuni telefoni cellulari. Supponiamo che tu lo stia installando su un desktop o laptop o un server. Poiché Django è scritto in Python, devi prima installare Python. I principali framework Django con qualsiasi versione di Python dalla 2.5 in poi. Se non sei sicuro di cosa scegliere, scegli l'ultima versione di Python in quanto hanno funzionalità linguistiche e miglioramenti delle prestazioni che potresti trovare utili.

Se sei su Mac o Linux, probabilmente hai già Python nel tuo computer. Puoi verificarlo andando al prompt dei comandi e digitando 'python' nella riga di comando. Dovresti vedere qualcosa del genere:

Python 3.5.1 (v3.5.1: 37a07cee5969, 6 dic 2015, 01:54:25)

(MSC v.1900 64 bit (AMD64)) su win32

Digitare "aiuto", "copyright", "crediti" o "licenza" per ulteriori informazioni.

>>>

Se non lo vedi, devi scaricare e installarlo. Una volta installato, devi scaricare e installare Django. Puoi scegliere tra due versioni: l'ultima versione ufficiale o la versione di sviluppo web all'avanguardia. Quello che scegli è basato su ciò che vuoi. Se vuoi una versione testata e stabile, vai alla versione ufficiale. Se vuoi qualcosa con le ultime funzionalità e vuoi contribuire alla community e puoi gestire la mancanza di stabilità, scegli la versione di sviluppo web.

Per cominciare, è meglio scegliere l'uscita ufficiale. Puoi trovare l'ultimo sul sito Web del Progetto Django. Se hai una distribuzione Linux con pacchetto Django, scegli la versione del distributore in modo da ottenere anche gli aggiornamenti di sicurezza.

Impostazione di un database

L'unico prerequisito di Django è che tu abbia un'installazione Python funzionante. Una volta configurato, puoi praticamente iniziare a scrivere subito un'applicazione web. Tuttavia, come accennato in precedenza, Django è stato sviluppato con particolare attenzione alle applicazioni web incentrate sui contenuti e basate su database. Quindi le probabilità sono che svilupperai un sito Web basato su database. In tal caso, è necessario configurare un server di database.

Django supporta quattro motori di database: MySQL, Oracle, SQLite 3 e PostgreSQL. Tutti i motori funzionano ugualmente bene per la maggior parte con il framework principale. PostgreSQL è consigliato se non si hanno legami con un sistema legacy e si può scegliere un back-end del database.

Per impostare un database, è necessario installare e configurare il server stesso. Ogni database che scegli ha il suo modo di impostare, quindi devi fare riferimento a quello. In secondo luogo, è necessario installare la libreria Python per quel particolare back-end del database. Questo è codice di terze parti per Python per interfacciarsi con il database.

Si consiglia SQLite se si sta solo sperimentando Django e non si desidera installare un server. Non richiede installazione; può semplicemente leggere e scrivere dati in un singolo file sul tuo sistema ed è supportato da Python 2.5 e versioni successive. Windows rende un po 'difficile ottenere i binari del driver del database.

Se si sceglie MySQL, è necessario MySQL 4.0 o versioni successive poiché le versioni precedenti non supportano le funzionalità di Django. Devi anche installare il pacchetto MySQLdb dalla pagina del Progetto Django. Se stai usando Linux, il sistema di gestione dei pacchetti della tua distribuzione potrebbe avere un pacchetto chiamato 'mysql-python', 'python-mysqldb' o 'python-mysql'.

Django funziona con le versioni 9i o successive di Oracle Database Server. È inoltre necessario installare la libreria cx_Oracle dal sito Web cx-Oracle. In alternativa, puoi usare Django completamente senza un database, se vuoi usarlo solo per servire pagine dinamiche senza fare riferimento a un database. Detto questo, alcuni degli strumenti di Django richiedono un database e non averne uno ti farà perdere.

Articoli consigliati

Ecco alcuni articoli che ti aiuteranno a ottenere maggiori dettagli su Python e Django per lo sviluppo Web, quindi passa attraverso il link.

  1. Python vs JavaScript - Scopri le 11 differenze utili
  2. 10 migliori domande di intervista sullo sviluppo Web che dovresti sapere
  3. 10 tipi di programmazione Python
  4. Python vs Ruby Performance e i loro utili vantaggi
  5. Differenze chiave tra Python e JavaScript
  6. Python vs Go

Categoria: