Django: il framework web Python nato in una redazione

Django nasce nel 2005 al Lawrence Journal-World: ORM, admin automatico, URL routing, template engine e autenticazione integrata nel framework Python 'batteries included'.

Open SourceWeb Open SourceDjangoPythonWebBackendMVC

Dalle deadline di una redazione al software libero

Django nasce in un contesto insolito per un framework web: la redazione online del Lawrence Journal-World, un quotidiano del Kansas. Gli sviluppatori Adrian Holovaty e Simon Willison devono costruire applicazioni web sotto la pressione costante delle scadenze giornalistiche: ogni giorno un nuovo progetto, tempi di rilascio misurati in ore, non in settimane. Da questa necessità concreta emerge un framework che privilegia la produttività e la pragmaticità.

Rilasciato come software libero nel luglio 2005 sotto licenza BSD, Django si presenta come un framework “batteries included”: tutto ciò che serve per costruire un’applicazione web è già integrato, senza dipendenze esterne da assemblare.

L’architettura MTV

Django adotta un pattern architetturale che definisce MTV (Model-Template-View), variante del classico MVC. Il Model descrive la struttura dei dati tramite classi Python mappate automaticamente su tabelle del database relazionale dall’ORM integrato. Il Template gestisce la presentazione con un linguaggio di markup sicuro, progettato per essere usabile anche da non-programmatori. La View contiene la logica applicativa e restituisce la risposta HTTP.

L’ORM di Django permette di interrogare il database senza scrivere SQL esplicito: i QuerySet sono pigri, componibili e traducibili in query ottimizzate per il database in uso — PostgreSQL, MySQL, SQLite e Oracle sono supportati nativamente.

Admin automatico e URL routing

Una delle caratteristiche più distintive è l’interfaccia di amministrazione generata automaticamente dai modelli: con poche righe di configurazione, Django produce un back-office completo con elenchi, filtri, ricerca, paginazione e form di editing. Per molte applicazioni, l’admin elimina settimane di sviluppo.

Il sistema di URL routing mappa gli indirizzi web a funzioni Python tramite espressioni regolari, rendendo la struttura degli URL parte esplicita del design dell’applicazione. Django include inoltre un sistema di autenticazione completo — utenti, gruppi, permessi, sessioni — pronto all’uso.

Sicurezza e convenzioni

Django integra protezioni di sicurezza come difese predefinite: CSRF token, escaping automatico nei template, protezione contro SQL injection tramite l’ORM, gestione sicura delle password con hashing. Il framework impone convenzioni senza togliere flessibilità, offrendo un equilibrio tra opinioni forti e possibilità di personalizzazione che lo rende adatto sia a prototipi rapidi sia ad applicazioni di produzione.

Link: djangoproject.com

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi