Tutorial Django per principianti: funzionalità, Archiarchitettura e storia
Riepilogo del tutorial di Django
Questo tutorial di Django copre tutti gli argomenti di base da zero. In questo tutorial imparerai concetti come cos'è Django, storia di Django, funzionalità di Django, caratteristiche del framework Django, componente di Django, vantaggi e svantaggi e molto altro.
Prima di imparare Django, capiamo:
Cos'è un framework Web?
Un framework web è una libreria di codici che ti aiuta a costruire un sistema flessibile, scalabile e manutenibile; sito Web dinamico, app Web e servizi Web. Diversi framework web sono Zend per PHP, Ruby on Rails per Ruby, ecc.
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 è creare siti Web complessi basati su database. Ti aiuta a creare e gestire applicazioni Web di qualità. Ti 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 ed eseguire. Offre una varietà di opzioni per iniziare
- Fornisce un'interfaccia utente pronta all'uso per le attività amministrative
- Abilita siti Web multilingue utilizzando il suo sistema di internazionalizzazione integrato
- Ti aiuta a soddisfare rapidamente le massicce richieste di traffico
- Django viene utilizzato per creare tutti i tipi di sistemi di gestione dei contenuti, social network e piattaforme di calcolo scientifico.
- Django ti aiuta a fornire test delle applicazioni end-to-end
- Ti aiuta a documentare la tua API con un output HTML
- REST Framework offre un ampio supporto per diversi protocolli di autenticazione
- Autorizzazioni e policy 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 Adian Holovaty e Simon Willison come progetto interno al quotidiano Lawrence Journal-World |
Luglio 2005 | È stato pubblicato nel luglio 2005 come "Django", dal nome del chitarrista jazz Django Reinhard |
Giugno 2008 | Dichiarato che un software Django Foundation (DSF) manterrebbe Django. |
29 Luglio 2009 | La versione Django 1.1 è stata rilasciata con funzionalità come Aggregati e test basati sulle transazioni. |
17 Maggio 2010 | È stata rilasciata la versione Django 1.2. L'aggiornamento ha offerto funzionalità come database multipli, implementazione del backend di posta elettronica e miglioramenti per sessioni e cookie in questa versione. |
23 marzo 2011 | 1.3 con funzionalità come visualizzazioni basate su classi e sono stati introdotti file statici |
23 marzo 2012 | Lanciata la versione 1.4 con nuove funzionalità come fusi orari e test nel browser |
Febbraio 26 2013 | Viene fornita la versione 1.5 Python 3 Supporto, funzionalità del modello utente configurabile. |
Novembre 6 2013 | La versione 1.6 è dotata di gestione delle transazioni DB e funzionalità di pooling delle connessioni. |
2 settembre 2014 | La versione 1.7 aveva nuove funzionalità come caricamento dell'applicazione, migrazioni e configurazione |
Aprile 1 2015 | supporto nativo fornito per più motori di modelli. |
1 dicembre 2015 | Nella versione 1.9 è stata introdotta la funzionalità di convalida automatica della password. |
Agosto 1 2016 | Nella versione 1.10 ricerca full-text per PostgreSQL lanciato. |
Aprile 4 2017 | La versione 1.11 diventa l'ultima versione da supportare Python 2.7 |
2 dicembre 2017 | la versione 2.0 diventa la prima versione di rilascio solo di Python 3. |
Agosto 1 2018 | la versione 2.1 viene fornita con la funzione di supporto dell'autorizzazione di "visualizzazione" del modello. |
2021 | Rimosso il supporto per Django 3.0 e aggiunto il supporto Django 3.2 |
Ora in questo tutorial di Django per principianti, impariamo le funzionalità di Django.
Caratteristiche di Django
Di seguito le caratteristiche di Django:
- Ti aiuta a definire modelli per gli URL nella tua applicazione
- Sistema URL semplice ma potente
- Sistema di autenticazione integrato
- Database in linguaggio di programmazione orientato agli oggetti che offre il meglio in termini di archiviazione e recupero dei dati
- La funzionalità dell'interfaccia di amministrazione automatica consente la funzionalità di aggiunta, modifica ed eliminazione di elementi. Puoi personalizzare il pannello di amministrazione secondo le tue necessità.
- Il framework della cache viene fornito con più meccanismi di cache.
Ora in questo tutorial sul framework Django impareremo le caratteristiche di Django.
Caratteristiche di Django
Ecco le principali caratteristiche di Django:
- Liberamente 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 esattamente in un posto invece di ripeterlo di nuovo
- Sviluppo veloce: Django offre uno sviluppo di applicazioni veloce e affidabile.
- Design coerente: Django mantiene un design pulito e semplifica il rispetto 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:
Modello MVC
Quando si parla di applicazioni che forniscono UI (web o desktop), di solito si parla di architettura MVC. Il pattern MVC si basa su Model, View e Controller.
Il Modello definisce la struttura dei dati e si occupa dell'interrogazione del database.
Il Visualizza definisce quali dati devono essere presentati e restituisce una risposta HTTP.
Il Controller è quella parte dell'applicazione che gestisce l'interazione dell'utente.
Modello Django MVC-MVT
Il Model-View-Template (MVT) è un concetto diverso rispetto a MVC. La differenza principale tra questi due modelli architettonici è che Django stesso gestisce la parte Controller (codice software che controlla le interazioni tra Model e View). Il template è un file HTML che si mescola con il file Django Template Language, chiamato anche DTL.
Il diagramma riportato di seguito mostra come tutti i componenti del modello MVT interagiscono tra loro per soddisfare in modo specifico la richiesta dell'utente.
Come visto nel diagramma sopra, un utente richiede una risorsa a Django. Django funge da controller e controlla la risorsa disponibile nell'URL.
Se l'URL viene mappato, viene richiamata una vista che interagisce con il modello e il template. Django risponde quindi all'utente e invia un modello come risposta.
Ora in questa serie di tutorial Django per principianti, impareremo 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, ecc.
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 fornisce supporto per la traduzione del testo in varie lingue, formattazione specifica della locale di date, ore, numeri e fusi orari.
Sicurezza
Django fornisce protezione 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 le aziende che utilizzano Django:
- BitBucket
- Disqus
- NASA
- PBS (servizio pubblico di radiodiffusione)
- Mozilla
- Il Washington Post
- New York Times
- LA Times
- Il Guardian National Geographic
- Discovery Channel
Svantaggi dell'utilizzo di Django
- Un processo non può gestire più richieste contemporaneamente.
- Django è uno strumento decisamente monolitico.
- I componenti vengono distribuiti insieme, il che può creare confusione.
- Conoscenza dell'intero sistema necessaria per lavorare su Django
- Rende i componenti dell'applicazione web strettamente collegati
- È necessario eseguire una lunga programmazione per attività minori.
Sommario
- Django è un framework di sviluppo web per Python che offre un metodo standard per lo sviluppo di siti Web rapido ed efficace.
- Django è stato avviato da Adian Holovaty e Simon Willison come progetto interno al quotidiano Lawrence Journal-World nel 2003
- Django ti aiuta a documentare la tua API con un output HTML.
- Django ti consente di personalizzare il pannello di amministrazione secondo le tue necessità.
- Django ti aiuta a rendere ogni elemento del suo stack indipendente dagli altri.
- La differenza principale tra i modelli architettonici MVC e MVT è che Django stesso gestisce la parte Controller.
- I componenti essenziali dell'architettura di Django sono: modulo, autenticazione, amministrazione, internazionalizzazione, sicurezza.
- Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, ecc. utilizzano Django
- Lo svantaggio maggiore di Django è che non riesce a gestire più richieste contemporaneamente.