Django è un framework web open source, gratuito, facile da usare, estensibile e di alto livello scritto nel linguaggio di programmazione Python che consente uno sviluppo rapido e una progettazione pragmatica e pulita.
Caratteristiche a colpo d'occhio
Le funzionalità principali includono un mapper relazionale a oggetti che consente agli sviluppatori di definire i loro modelli di dati interamente in Python, un'interfaccia di amministrazione automatica che ti fa risparmiare molto tempo e un design URL elegante e senza intoppi che non ha framework -specifiche limitazioni.
Inoltre, il progetto Django offre agli utenti un sistema di template potente, progettabile ed estensibile, un sistema di cache che è collegato a memcached, un'API dinamica di accesso al database e supporto per applicazioni multilingue.
Chi usa Django?
Circa 5.000 siti web utilizzano la struttura web di Django sulla loro infrastruttura, inclusi i famosi Pinterest, Mozilla, Instagram, OpenStack, Disqus, Rdio, PolitiFact.com, Mainmetrics, Beerclue, BR1ITALIA e Plagiarism Guard.
Introduzione a Django
Il modo migliore per installare Django sulla tua distribuzione GNU / Linux è usare il programma di installazione dei pip (ad esempio, installa Django == 1.7.1). Un altro ottimo modo per installare Django è tramite il codice sorgente Git o l'archivio TAR distribuito su Softoware.
Una volta scaricato l'archivio delle fonti sul tuo computer, dovresti decomprimerlo usando il gestore di archivi preferito, aprire un emulatore di terminale e navigare fino alla posizione dei file di archivio estratti usando il & lsquo; cd & rsquo; comando.
Per installare Django, digita & lsquo; sudo python setup.py installa & rsquo; comando come utente privilegiato, o il & lsquo; python setup.py installa & rsquo; comando come root. Istruzioni dettagliate sull'utilizzo sono disponibili nella home page del progetto (vedi link sotto).
Novità in questa versione:
- Correzioni di bug:
- Risolto BCryptSHA256PasswordHasher con py-bcrypt e Python 3 (# 21398).
- Risolto un problema di regressione che impediva a un ForeignKey con un reverse manager nascosto (related_name che termina con '+') di essere usato come ricerca per prefetch_related (# 21410).
- Risolto il problema con Queryset.datet sollevando AttributeError in alcune situazioni (# 21432).
- Corretto ModelBackend che genera UnboundLocalError se get_user_model () ha generato un errore (# 21439).
- Corretto una regressione che impediva alle sottoclassi GenericRelation modificabili di lavorare in ModelForms (# 21428).
- Aggiunto il metodo to_python mancante per ModelMultipleChoiceField che è richiesto in Django 1.6 per rilevare correttamente le modifiche dai valori iniziali (# 21568).
- Corrette le traduzioni di django.contrib.humanize in cui la sequenza unicode per lo spazio non interruttivo veniva restituita testualmente (# 21415).
- Risolto errore di caricamento quando il nome del file di fixture conteneva punti non correlati alle estensioni di file (# 21457) o quando il percorso del fixture era relativo ma si trovava in una sottodirectory (# 21551).
- Corretta la visualizzazione delle istanze incorporate nei formulari quando genitore ha 0 per la chiave primaria (# 21472).
- Risolto un problema con la regressione in cui i set di query personalizzati per le chiavi esterne venivano sovrascritti se ModelAdmin aveva impostato l'ordine (# 21405).
- Rimossa la menzione di una funzione nell'opzione --locale / -l dei comandi makemessages e compilemessages che non hanno mai funzionato come promesso: supporto di più nomi di locale separati da virgole. È ancora possibile specificare più locale in un'unica esecuzione utilizzando l'opzione più volte (# 21488, # 17181).
- Risolto un problema di regressione che causava la configurazione delle impostazioni inutilmente durante l'importazione di get_wsgi_application (# 21486).
- Corretto il metodo di logout del client di test () quando si utilizza il back-end di sessione basato su cookie (# 21448).
- Risolto un crash quando un GeometryField utilizza un widget non geometrico (# 21496).
- Risolto il problema dell'hash della password quando si modificava il conteggio delle iterazioni (# 21535).
- Risolto un bug nella vista di debug quando l'URLconf contiene solo un elemento (# 21530).
- Ri-aggiunto il conteggio dei risultati della ricerca mancante e reimpostato il link nella vista dell'amministratore degli elenchi di modifiche (# 21510).
- La lingua corrente non viene più salvata nella sessione da LocaleMiddleware su ogni risposta, ma solo dopo un logout (# 21473).
- Risolto un crash durante l'esecuzione di runserver su sistemi non inglesi e quando la data formattata nel suo output conteneva caratteri non ASCII (# 21358).
- Risolto un crash nella vista di debug dopo che si verificava un'eccezione su Python ≥ 3.3 (# 21443).
- Risolto un crash in ImageField su alcune piattaforme (Homebrew e RHEL6 riportati) (# 21355).
- Risolto un problema con la regressione quando si utilizzavano relazioni generiche in ModelAdmin.list_filter (# 21431).
Novità della versione nella versione:
- Correzioni di bug:
- Risolto BCryptSHA256PasswordHasher con py-bcrypt e Python 3 (# 21398).
- Risolto un problema di regressione che impediva a un ForeignKey con un reverse manager nascosto (related_name che termina con '+') di essere usato come ricerca per prefetch_related (# 21410).
- Risolto il problema con Queryset.datet sollevando AttributeError in alcune situazioni (# 21432).
- Corretto ModelBackend che genera UnboundLocalError se get_user_model () ha generato un errore (# 21439).
- Corretto una regressione che impediva alle sottoclassi GenericRelation modificabili di lavorare in ModelForms (# 21428).
- Aggiunto il metodo to_python mancante per ModelMultipleChoiceField che è richiesto in Django 1.6 per rilevare correttamente le modifiche dai valori iniziali (# 21568).
- Corrette le traduzioni di django.contrib.humanize in cui la sequenza unicode per lo spazio non interruttivo veniva restituita testualmente (# 21415).
- Risolto errore di caricamento quando il nome del file di fixture conteneva punti non correlati alle estensioni di file (# 21457) o quando il percorso del fixture era relativo ma si trovava in una sottodirectory (# 21551).
- Corretta la visualizzazione delle istanze incorporate nei formulari quando genitore ha 0 per la chiave primaria (# 21472).
- Risolto un problema con la regressione in cui i set di query personalizzati per le chiavi esterne venivano sovrascritti se ModelAdmin aveva impostato l'ordine (# 21405).
- Rimossa la menzione di una funzione nell'opzione --locale / -l dei comandi makemessages e compilemessages che non hanno mai funzionato come promesso: supporto di più nomi di locale separati da virgole. È ancora possibile specificare più locale in un'unica esecuzione utilizzando l'opzione più volte (# 21488, # 17181).
- Risolto un problema di regressione che causava la configurazione delle impostazioni inutilmente durante l'importazione di get_wsgi_application (# 21486).
- Corretto il metodo di logout del client di test () quando si utilizza il back-end di sessione basato su cookie (# 21448).
- Risolto un crash quando un GeometryField utilizza un widget non geometrico (# 21496).
- Risolto il problema dell'hash della password quando si modificava il conteggio delle iterazioni (# 21535).
- Risolto un bug nella vista di debug quando l'URLconf contiene solo un elemento (# 21530).
- Ri-aggiunto il conteggio dei risultati della ricerca mancante e reimpostato il link nella vista dell'amministratore degli elenchi di modifiche (# 21510).
- La lingua corrente non viene più salvata nella sessione da LocaleMiddleware su ogni risposta, ma solo dopo un logout (# 21473).
- Risolto un crash durante l'esecuzione di runserver su sistemi non inglesi e quando la data formattata nel suo output conteneva caratteri non ASCII (# 21358).
- Risolto un crash nella vista di debug dopo che si verificava un'eccezione su Python ≥ 3.3 (# 21443).
- Risolto un crash in ImageField su alcune piattaforme (Homebrew e RHEL6 riportati) (# 21355).
- Risolto un problema con la regressione quando si utilizzavano relazioni generiche in ModelAdmin.list_filter (# 21431).
Requisiti :
- Python
I commenti non trovato