Tutoriel Django pour débutants : fonctionnalités, Architecture & Histoire
Résumé du didacticiel Django
Ce tutoriel Django couvre tous les sujets de base à partir de zéro. Dans ce didacticiel, vous apprendrez des concepts tels que ce qu'est Django, l'historique de Django, les fonctionnalités de Django, les caractéristiques du framework Django, les composants de Django, les avantages et les 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 codes qui vous aide à créer un environnement flexible, évolutif et maintenable ; site Web dynamique, application Web et services Web. Différents frameworks web sont Zend pour PHP, Ruby sur Rails pour Ruby, etc.
Qu'est-ce que Django?
Django est un framework de développement Web pour Python qui propose des méthodes standard pour un développement de sites Web rapide et efficace. L'objectif principal de ce framework Web de haut niveau est de créer des sites Web complexes basés sur des bases de données. Il vous aide à créer et à maintenir des applications Web de qualité. Il vous permet de rendre le processus de développement fluide et de gagner du temps pour un développement rapide.
Pourquoi Django ? Principaux avantages de Django
Voici les principaux avantages de Django :
- Django est facile à configurer et à exécuter. Il offre une variété d'options pour commencer
- Il fournit une interface utilisateur prête à l'emploi pour les activités administratives
- Il permet des sites Web multilingues en utilisant son système d'internationalisation intégré
- Vous aide à répondre rapidement aux demandes massives de trafic
- Django est utilisé pour construire tous types de systèmes de gestion de contenu, de réseaux sociaux ainsi que de plateformes de calcul scientifique.
- Django vous aide à fournir des tests d'applications de bout en bout
- Vous aide à documenter votre API avec une sortie HTML
- REST Framework prend en charge plusieurs protocoles d'authentification
- Autorisations et politiques de limitation
- 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 Adian Holovaty et Simon Willison en tant que projet interne du journal Lawrence Journal-World. |
Juillet 2023 | Il est sorti en juillet 2005 sous le nom de « Django », du nom du guitariste de jazz Django Reinhard. |
Juin 2008 | A déclaré qu'un logiciel Django Foundation (DSF) maintiendrait Django. |
29 Juillet 2009 | La version Django 1.1 a été publiée avec des fonctionnalités telles que les agrégats et les tests basés sur les transactions. |
17 mai 2010 | La version Django 1.2 est sortie. La mise à jour offrait des fonctionnalités telles que plusieurs bases de données, la mise en œuvre du backend de messagerie et des améliorations pour les sessions et les cookies sont apportées dans cette version. |
23 Mar 2011 | Version 1.3 avec des fonctionnalités telles que les vues basées sur les classes et les fichiers statiques ont été introduits |
23 Mar 2012 | Version 1.4 lancée avec de nouvelles fonctionnalités telles que les fuseaux horaires et les tests dans le navigateur |
26 février 2013 | La version 1.5 est livrée avec Python 3 Prise en charge, fonctionnalités de modèle utilisateur configurables. |
6 novembre 2013 | La version 1.6 est livrée avec des fonctionnalités de gestion des transactions DB et de regroupement de connexions. |
2 Sep 2014 | La version 1.7 avait de nouvelles fonctionnalités telles que la charge des applications, les migrations et la configuration |
1 avril 2015 | prise en charge native fournie pour plusieurs moteurs de modèles. |
1 Dec 2015 | Dans la version 1.9, une fonctionnalité de validation automatique du mot de passe a été introduite. |
1 août 2016 | Dans la version 1.10, recherche en texte intégral de PostgreSQL lancé. |
4 avril 2017 | La version 1.11 devient la dernière version à prendre en charge Python 2.7 |
2 Dec 2017 | la version 2.0 devient la première version de Python 3 uniquement. |
1 août 2018 | la version 2.1 est livrée avec la fonctionnalité de prise en charge des autorisations « afficher » du modèle. |
2021 | Suppression de la prise en charge de Django 3.0 et ajout de la prise en charge de Django 3.2 |
Maintenant, dans ce didacticiel Django pour débutants, découvrons les fonctionnalités de Django.
Caractéristiques de Django
Voici les fonctionnalités de Django :
- Vous aide à définir des modèles pour les URL de votre application
- Système d'URL simple mais puissant
- Système d'authentification intégré
- Base de données en langage de programmation orienté objet qui offre le meilleur stockage et récupération de données de sa catégorie
- La fonctionnalité d’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 framework de cache est livré avec plusieurs mécanismes de cache.
Maintenant, dans ce didacticiel du framework Django, nous allons découvrir les caractéristiques de Django.
Caractéristiques de Django
Voici les principales caractéristiques de Django :
- Loosely Coupled - Django vous aide à rendre chaque élément de sa pile indépendant des autres.
- Less code- Assure un développement efficace
- Non répété – Tout doit être développé précisément à un seul endroit au lieu de le répéter à nouveau
- Développement rapide - Django propose un développement d'applications rapide et fiable.
- Conception cohérente – Django maintient une conception épurée et facilite le suivi 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 :
Modèle MVC
Lorsqu'on parle d'applications fournissant une interface utilisateur (web ou de bureau), nous parlons généralement d'architecture MVC. Le modèle MVC est basé sur le modèle, la vue et le contrôleur.
Votre Modèle définit la structure des données et se charge d'interroger la base de données.
Votre Résumé définit quelles données doivent être présentées et renvoie une réponse HTTP.
Votre est la partie de l'application qui gère l'interaction de l'utilisateur.
Modèle Django MVC-MVT
Le Model-View-Template (MVT) est un concept différent de celui de MVC. La principale différence entre ces deux modèles architecturaux est que Django gère lui-même la partie Contrôleur (code logiciel qui contrôle les interactions entre le Modèle et la Vue). Le modèle est un fichier HTML mélangé avec le fichier Django Template Language également appelé DTL.
Le diagramme ci-dessous montre comment tous les composants du modèle MVT interagissent les uns avec les autres pour répondre spécifiquement à une demande utilisateur.
Comme le montre le diagramme ci-dessus, un utilisateur demande une ressource à Django. Django agit en tant que contrôleur et vérifie la ressource disponible dans l'URL.
Si l'URL est mappée, une vue est appelée qui interagit avec le modèle et le modèle. Django répond ensuite à l'utilisateur et envoie un modèle en réponse.
Maintenant, dans cette série de didacticiels Django pour débutants, nous allons découvrir les composants de Django.
Composants de Django
Formulaire
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 d'utilisateurs, les groupes, les sessions utilisateur basées sur les cookies, etc.
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, le formatage spécifique aux paramètres régionaux des dates, des heures, des nombres et des fuseaux horaires.
Sécurité
Django offre une protection 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 les entreprises qui utilisent Django :
- BitBucket
- DISQUE
- NASA
- PBS (service public de radiodiffusion)
- Mozilla
- Washington Post
- NY Times
- Los Angeles Times
- Le gardien National Geographic
- Chaîne de découverte
Inconvénients de l'utilisation de Django
- Un processus ne peut pas gérer 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.
- Connaissance du système complet nécessaire pour travailler sur Django
- Rend les composants d'application Web étroitement couplés
- Vous devez effectuer une longue programmation pour des tâches mineures.
Résumé
- Django est un framework de développement Web pour Python qui offre une méthode standard pour le développement de sites Web rapides et efficaces.
- Django a été lancé par Adian Holovaty et Simon Willison en tant que projet interne au journal Lawrence Journal-World en 2003.
- Django vous aide à documenter votre API avec une sortie HTML.
- Django vous permet de personnaliser le panneau d'administration selon vos besoins.
- Django vous aide à rendre chaque élément de sa pile indépendant des autres.
- La principale différence entre les modèles architecturaux MVC et MVT est que Django gère lui-même la partie Contrôleur.
- Les composants essentiels de l'architecture de Django sont : Formulaire, Authentification, Admin, Internationalisation, Sécurité.
- Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, etc. utilisent Django
- Le plus gros inconvénient de Django est qu’il ne peut pas gérer plusieurs requêtes simultanément.