Tutorial su Django: Funzionalità, Archiarchitettura e storia
⚡ Riepilogo intelligente
Django è un linguaggio libero e open-source Python Framework web basato sul modello Model-View-Template, che consente lo sviluppo rapido di siti web sicuri, scalabili e basati su database, grazie a componenti riutilizzabili, un'interfaccia di amministrazione automatica e un design "tutto incluso".

Django alimenta alcuni dei siti più grandi del web, mantenendo al contempoping Sviluppo quotidiano rapido e organizzato. Prima di esplorare le sue caratteristiche, l'architettura e la storia, le sezioni seguenti iniziano con le basi dei framework web e ciò che rende Django unico.
Riepilogo del tutorial di Django
Questo tutorial su Django copre tutti gli argomenti di base partendo dalle fondamenta. In questo tutorial, imparerai concetti come cos'è Django, la sua storia, le sue caratteristiche, le peculiarità del framework Django, i componenti di Django, i suoi vantaggi e svantaggi e molto altro ancora.
Prima di imparare Django, cerchiamo di capire:
Cos'è un framework Web?
Un framework web è una libreria di codice che ti aiuta a costruire un sito web, un'applicazione web o un servizio web dinamico, flessibile, scalabile e manutenibile. Diversi framework web includono Zend per PHP, Ruby on Rails per Ruby e altri.
Cos'è Django?
Django è un framework di sviluppo web per Python che offre metodi standard per uno sviluppo di siti web rapido ed efficace. L'obiettivo principale di questo framework web di alto livello è la creazione di siti web complessi basati su database. Aiuta a costruire e mantenere applicazioni web di qualità. Consente di rendere il processo di sviluppo fluido e di risparmiare tempo, per uno sviluppo rapido.
Perchè Django? Principali vantaggi di Django
Ecco i principali vantaggi di Django:
- Django è facile da configurare e da eseguire. Offre una varietà di opzioni per iniziare.
- Fornisce un'interfaccia utente pronta all'uso per le attività amministrative.
- Consente la creazione di siti web multilingue grazie al suo sistema di internazionalizzazione integrato.
- Ti aiuta a soddisfare rapidamente enormi richieste di traffico.
- Django viene utilizzato per costruire tutti i tipi di sistemi di gestione dei contenuti, social network e piattaforme di calcolo scientifico.
- Django ti aiuta a fornire test end-to-end dell'applicazione.
- Ti aiuta a documentare la tua API con un output HTML.
- Il framework REST offre un ampio supporto per diversi protocolli di autenticazione.
- Offre autorizzazioni e politiche di limitazione.
- È ampiamente utilizzato per le richieste API di limitazione della velocità da parte di un singolo utente.
Storia di Django
| Anno | Pietra miliare |
|---|---|
| 2003 | Il progetto è stato avviato da Adrian Holovaty e Simon Willison come iniziativa interna del quotidiano Lawrence Journal-World. |
| Luglio 2005 | È stato pubblicato nel luglio 2005 con il titolo "Django", in onore del chitarrista jazz Django Reinhardt. |
| Giugno 2008 | È stato dichiarato che un software Django Foundation (DSF) manterrebbe Django. |
| 29 Luglio 2009 | Django 1.1 è stato rilasciato con funzionalità come gli aggregati e i test basati sulle transazioni. |
| 17 Maggio 2010 | È stata rilasciata la versione 1.2 di Django. L'aggiornamento ha introdotto funzionalità come il supporto per più database e un backend per la posta elettronica, oltre a miglioramenti per le sessioni e i cookie. |
| 23 marzo 2011 | La versione 1.3 ha introdotto funzionalità come le viste basate su classi e i file statici. |
| 23 marzo 2012 | La versione 1.4 è stata lanciata con nuove funzionalità come i fusi orari e i test direttamente nel browser. |
| Febbraio 26 2013 | La versione 1.5 è arrivata con Python 3 funzionalità di supporto e configurabili del modello utente. |
| Novembre 6 2013 | La versione 1.6 includeva funzionalità di gestione delle transazioni del database e di pooling delle connessioni. |
| 2 settembre 2014 | La versione 1.7 presentava nuove funzionalità come il caricamento delle applicazioni, le migrazioni e la configurazione. |
| Aprile 1 2015 | È stato fornito supporto nativo per diversi motori di template. |
| 1 dicembre 2015 | Nella versione 1.9 è stata introdotta una funzione di convalida automatica della password. |
| Agosto 1 2016 | Nella versione 1.10, ricerca full-text per PostgreSQL è stato lanciato. |
| Aprile 4 2017 | La versione 1.11 è diventata l'ultima versione a supportare Python 2.7 |
| 2 dicembre 2017 | La versione 2.0 è diventata la prima Python Versione di rilascio limitata a 3. |
| Agosto 1 2018 | La versione 2.1 includeva funzionalità di supporto per l'autorizzazione di "visualizzazione" del modello. |
| 2021 | È stato rimosso il supporto per Django 3.0 ed è stato aggiunto il supporto per Django 3.2. |
In questo tutorial su Django per principianti, impareremo a conoscere le funzionalità di Django.
Caratteristiche di Django
Di seguito le caratteristiche di Django:
- Ti aiuta a definire i modelli per il URLs nella tua applicazione.
- Semplice ma potente URL .
- Sistema di autenticazione integrato.
- Un database basato su un linguaggio di programmazione orientato agli oggetti che offre funzionalità di archiviazione e recupero dati di altissimo livello.
- La funzionalità di interfaccia amministrativa automatica consente di aggiungere, modificare ed eliminare elementi. È possibile personalizzare il pannello di amministrazione in base alle proprie esigenze.
- Il framework di cache include diversi meccanismi di cache.
In questo tutorial sul framework Django, impareremo a conoscere le caratteristiche di Django.
Caratteristiche di Django
Ecco le principali caratteristiche di Django:
- Debolmente accoppiato – Django ti aiuta a rendere ogni elemento del suo stack indipendente dagli altri.
- Less codice – Garantisce uno sviluppo efficace.
- Non ripetuto – Tutto dovrebbe essere sviluppato in un unico luogo preciso, anziché essere ripetuto più volte.
- Sviluppo veloce – Django offre uno sviluppo di applicazioni rapido e affidabile.
- Design coerente – Django mantiene un design pulito e semplifica l'applicazione delle migliori pratiche di sviluppo web.
Nel prossimo tutorial per principianti su Django, impareremo l'architettura di Django.
Django Architecnologia: MVC e MVT
Di seguito è riportata un'architettura dettagliata di Django:
Django Architectura
Modello MVC
Quando si parla di applicazioni che forniscono un'interfaccia utente (web o desktop), si fa solitamente riferimento all'architettura MVC. Il pattern MVC si basa su Model, View e Controller.
Migliori Modello Definisce la struttura dei dati e si occupa di interrogare il database.
Migliori Visualizzare definisce quali dati devono essere presentati e restituisce una risposta HTTP.
Migliori Controller è la parte dell'applicazione che gestisce l'interazione con l'utente.
Modello Django MVC-MVT
Il modello Model-View-Template (MVT) è un concetto diverso rispetto al modello MVC. La principale differenza tra questi due modelli architetturali è che Django gestisce direttamente la parte del Controller (il codice software che controlla le interazioni tra Model e View). Il template è un file HTML che viene combinato con un file DTL (Django Template Language).
Il diagramma seguente mostra come tutti i componenti del pattern MVT interagiscono tra loro per soddisfare una specifica richiesta dell'utente.
MVT Architectura
Come si vede nel diagramma sopra, un utente richiede una risorsa da Django. Django agisce come un controller e verifica la disponibilità della risorsa nel URL.
Se l' URL Quando si utilizzano le mappe, viene richiamata una vista che interagisce con il modello e il template. Django risponde quindi all'utente inviando un template come risposta.
In questa serie di tutorial su Django per principianti, impareremo a conoscere i componenti di Django.
Componenti di Django
Modulo
Django ha una potente libreria di moduli che gestisce il rendering dei moduli come HTML. La libreria aiuta a convalidare i dati inviati e a convertirli in Python tipi.
Autenticazione
Gestisce account utente, gruppi, sessioni utente basate su cookie e altro ancora.
Admin
Legge i metadati nei tuoi modelli per fornire un'interfaccia solida che può essere utilizzata per gestire i contenuti del tuo sito.
Internazionalizzazione
Django offre supporto per la traduzione di testi in diverse lingue e per la formattazione di date, orari, numeri e fusi orari in base alla localizzazione.
Sicurezza
Django offre misure di sicurezza contro i seguenti attacchi:
- Falsificazione di richieste tra siti (CSRF)
- Cross Site Scripting
- SQL Injection
- Clickjacking
- Esecuzione di codice remoto
Aziende famose che utilizzano Django
Ecco alcune aziende che utilizzano Django:
- Bitbucket
- Disqus
- NASA
- PBS (servizio pubblico di radiodiffusione)
- Mozilla
- Il Washington Post
- Il New York Times
- Los Angeles Times
- The Guardian
- National Geographic
- Discovery Channel
Svantaggi dell'utilizzo di Django
Ecco alcuni svantaggi dell'utilizzo di Django:
- Un singolo processo non può gestire più richieste contemporaneamente.
- Django è uno strumento molto monolitico.
- I componenti vengono distribuiti insieme, il che può generare confusione.
- Per lavorare con Django è necessaria la conoscenza dell'intero sistema.
- Rende i componenti delle applicazioni web strettamente interconnessi.
- È necessario eseguire una lunga programmazione per attività minori.


