Tutoriel Django : Fonctionnalités, Architecture & Histoire
⚡ Résumé intelligent
Django est un logiciel libre et open source Python Framework web construit sur le modèle MVC (Modèle-Vue-Template), permettant le développement rapide de sites web sécurisés, évolutifs et basés sur des bases de données grâce à des composants réutilisables, une interface d'administration automatique et une conception clé en main.

Django alimente certains des plus grands sites du web tout en gardantping Développement quotidien rapide et organisé. Avant d'explorer ses fonctionnalités, son architecture et son histoire, les sections ci-dessous abordent les bases des frameworks web et ce qui distingue Django.
Résumé du didacticiel Django
Ce tutoriel Django aborde tous les concepts fondamentaux, du niveau débutant au niveau expert. Vous y découvrirez notamment ce qu'est Django, son histoire, ses fonctionnalités, les caractéristiques du framework, ses composants, ses avantages et inconvénients, et bien plus encore.
Avant d'apprendre Django, comprenons :
Qu'est-ce qu'un framework Web ?
Un framework web est une bibliothèque de code qui vous aide à créer un site web, une application web ou un service web dynamique, flexible, évolutif et facile à maintenir. Parmi les différents frameworks web, on peut citer Zend pour PHP. Ruby sur Rails pour Ruby, et d'autres.
Qu'est-ce que Django?
Django est un framework de développement Web pour Python Ce framework web de haut niveau propose des méthodes standardisées pour un développement web rapide et efficace. Son objectif principal est la création de sites web complexes, basés sur des bases de données. Il vous aide à concevoir et à maintenir des applications web de qualité, et vous permet de fluidifier et d'accélérer le processus de développement.
Pourquoi Django ? Principaux avantages de Django
Voici les principaux avantages de Django :
- Django est facile à installer et à utiliser. Il offre diverses options pour bien démarrer.
- Elle fournit une interface utilisateur prête à l'emploi pour les activités administratives.
- Il permet la création de sites web multilingues grâce à son système d'internationalisation intégré.
- Cela vous permet de répondre rapidement à des demandes de trafic importantes.
- Django est utilisé pour construire tous types de systèmes de gestion de contenu, de réseaux sociaux, ainsi que des plateformes de calcul scientifique.
- Django vous aide à fournir des tests d'application de bout en bout.
- Cela vous permet de documenter votre API avec une sortie HTML.
- Le framework REST offre une prise en charge étendue de plusieurs protocoles d'authentification.
- Il propose des politiques d'autorisation et de limitation de débit.
- Il est largement utilisé pour limiter le débit des requêtes API d’un seul utilisateur.
Histoire de Django
| Année | Points de repère |
|---|---|
| 2003 | Le projet a été lancé par Adrian Holovaty et Simon Willison en tant que projet interne au journal Lawrence Journal-World. |
| Juillet 2023 | Il est sorti en juillet 2005 sous le titre « Django », du nom du guitariste de jazz Django Reinhardt. |
| Juin 2008 | Il a été déclaré qu'un logiciel Django Foundation (DSF) maintiendrait Django. |
| 29 juillet 2009 | Django 1.1 a été publié avec des fonctionnalités telles que les agrégats et les tests basés sur les transactions. |
| 17 mai 2010 | Django 1.2 a été publié. Cette mise à jour propose des fonctionnalités telles que la gestion de plusieurs bases de données et un système de messagerie, et des améliorations ont été apportées aux sessions et aux cookies. |
| 23 Mar 2011 | La version 1.3 a introduit des fonctionnalités telles que les vues basées sur les classes et les fichiers statiques. |
| 23 Mar 2012 | La version 1.4 a été lancée avec de nouvelles fonctionnalités telles que les fuseaux horaires et les tests intégrés au navigateur. |
| 26 février 2013 | La version 1.5 était fournie avec Python 3 fonctionnalités de support et de modèle utilisateur configurable. |
| 6 novembre 2013 | La version 1.6 intégrait des fonctionnalités de gestion des transactions de base de données et de mise en pool des connexions. |
| 2 Sep 2014 | La version 1.7 comportait de nouvelles fonctionnalités telles que le chargement d'applications, les migrations et la configuration. |
| 1 avril 2015 | Une prise en charge native était assurée pour plusieurs moteurs de modèles. |
| 1 Dec 2015 | Dans la version 1.9, une fonction de validation automatique des mots de passe a été introduite. |
| 1 août 2016 | Dans la version 1.10, la recherche en texte intégral pour PostgreSQL A été lancé. |
| 4 avril 2017 | La version 1.11 est devenue la dernière version prise en charge Python 2.7. |
| 2 Dec 2017 | La version 2.0 est devenue la première Python Version limitée à 3 exemplaires. |
| 1 août 2018 | La version 2.1 incluait des fonctionnalités de prise en charge de l'autorisation de « visualisation » du modèle. |
| 2021 | La prise en charge de Django 3.0 a été supprimée et la prise en charge de Django 3.2 a été ajoutée. |
Dans ce tutoriel Django pour débutants, découvrons maintenant les fonctionnalités de Django.
Caractéristiques de Django
Voici les fonctionnalités de Django :
- Vous aide à définir des modèles pour le URLs dans votre candidature.
- Simple mais puissant URL système.
- Système d'authentification intégré.
- Une base de données utilisant un langage de programmation orienté objet, offrant un stockage et une récupération de données de pointe.
- L'interface d'administration automatique permet d'ajouter, de modifier et de supprimer des éléments. Vous pouvez personnaliser le panneau d'administration selon vos besoins.
- Le système de cache est livré avec plusieurs mécanismes de cache.
Dans ce tutoriel sur le framework Django, nous allons maintenant découvrir les caractéristiques de Django.
Caractéristiques de Django
Voici les principales caractéristiques de Django :
- Couplage lâche – Django vous permet de rendre chaque élément de sa pile indépendant des autres.
- Less code – Assure un développement efficace.
- Non répété – Tout devrait être développé au même endroit, au lieu d'être répété.
- Développement rapide – Django offre un développement d'applications rapide et fiable.
- Conception cohérente – Django propose un design épuré et facilite le respect des meilleures pratiques de développement web.
Ensuite, dans ce didacticiel Django pour débutants, nous découvrirons l’architecture de Django.
Django Archiconfiguration : MVC et MVT
Vous trouverez ci-dessous une architecture détaillée de Django :
Django Architecture
Modèle MVC
Lorsqu'on parle d'applications dotées d'une interface utilisateur (web ou de bureau), on évoque généralement l'architecture MVC. Le modèle MVC repose sur trois piliers : Modèle, Vue et Contrôleur.
Le Modèle définit la structure des données et gère les interrogations de la base de données.
Le Consultation définit quelles données doivent être présentées et renvoie une réponse HTTP.
Le Contrôleur Il s'agit de la partie de l'application qui gère l'interaction avec l'utilisateur.
Modèle Django MVC-MVT
Le modèle MVT (Modèle-Vue-Template) est un concept différent du modèle MVC. La principale différence entre ces deux architectures réside dans le fait que Django gère lui-même la partie Contrôleur (le code qui contrôle les interactions entre le Modèle et la Vue). Le modèle est un fichier HTML combiné à un fichier de langage de modèles Django (DTL).
Le diagramme ci-dessous illustre comment tous les composants du modèle MVT interagissent entre eux pour répondre à une requête utilisateur spécifique.
MVT Architecture
Comme illustré dans le schéma ci-dessus, un utilisateur demande une ressource à Django. Django agit comme un contrôleur et vérifie la disponibilité de la ressource dans le système. URL.
Si la URL Dans le cadre de l'utilisation des cartes, une vue est appelée, qui interagit avec le modèle et le template. Django répond ensuite à l'utilisateur et envoie un template en guise de réponse.
Dans cette série de tutoriels Django pour débutants, nous allons maintenant découvrir les composants de Django.
Composants de Django
Forme
Django dispose d'une puissante bibliothèque de formulaires qui gère le rendu des formulaires au format HTML. La bibliothèque aide à valider les données soumises et à les convertir en Python les types.
Authentification
Il gère les comptes utilisateurs, les groupes, les sessions utilisateur basées sur les cookies, et bien plus encore.
Administrateur
Il lit les métadonnées de vos modèles pour fournir une interface robuste qui peut être utilisée pour gérer le contenu de votre site.
Internationalisation
Django prend en charge la traduction de texte dans différentes langues et la mise en forme locale des dates, des heures, des nombres et des fuseaux horaires.
Sécurité
Django offre des protections contre les attaques suivantes :
- Falsification de requêtes intersites (CSRF)
- Script inter-site
- Injection SQL
- Clickjacking
- Exécution de code à distance
Entreprises célèbres utilisant Django
Voici quelques entreprises qui utilisent Django :
- Bitbucket
- Disqus
- NASA
- PBS (service public de radiodiffusion)
- Mozilla
- Washington Post
- The New York Times
- Los Angeles Times
- The Guardian
- National Geographic
- Chaîne de découverte
Inconvénients de l'utilisation de Django
Voici quelques inconvénients liés à l'utilisation de Django :
- Un seul processus ne peut pas traiter plusieurs requêtes simultanément.
- Django est un outil très monolithique.
- Les composants sont déployés ensemble, ce qui peut créer de la confusion.
- Une connaissance complète du système est nécessaire pour travailler avec Django.
- Cela permet un couplage étroit des composants d'une application web.
- Vous devez effectuer une longue programmation pour des tâches mineures.


