Tutoriel Django pour débutants : fonctionnalités, architecture et 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 on 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
Year | Milestone |
---|---|
2003 | The project was started by Adian Holovaty and Simon Willison as an internal project at Lawrence Journal-World newspaper |
July 2005 | It was released In July 2005 as “Django,” named after the jazz guitarist Django Reinhard |
June 2008 | Declared that a Django Software Foundation (DSF) would maintain Django. |
29 July 2009 | Django 1.1 version was released with features like Aggregates, transaction-based tests. |
17 May 2010 | Django 1.2 version was released. The update offered features like multiple databases, Implementation of email backend and improvements for sessions and cookie are made in this version. |
23 Mar 2011 | 1.3 version with features like Class-based views, static files were introduced |
23 Mar 2012 | 1.4 version launched with new features like timezones and in-browser testing |
26 Feb 2013 | 1.5 version comes with Python 3 Support, configurable user model features. |
6 Nov 2013 | 1.6 version comes with DB transaction management, connection pooling features. |
2 Sep 2014 | 1.7 version had new features like application load, migrations, and configuration |
1 Apr 2015 | native support provided for multiple template engines. |
1 Dec 2015 | In 1.9 version, automatic password validation feature was introduced. |
1 Aug 2016 | In 1.10 version full-text search for PostgreSQL launched. |
4 Apr 2017 | 1.11 version becomes the last version to support Python 2.7 |
2 Dec 2017 | version 2.0 becomes first python 3- only release version. |
1 Aug 2018 | version 2.1 comes with Model “view” permission support feature. |
2021 | Removed support for Django 3.0 and Added Django 3.2 support |
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.
- Moins de 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.
Architecture Django : 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.
Le Modèle définit la structure des données et se charge d'interroger la base de données.
La Vue définit les données qui doivent être présentées et renvoie une réponse HTTP.
Le Contrôleur 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 types Python.
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 :
- Contrefaçon de demande intersite (CSRF)
- Scripts intersites
- Injection SQL
- Détournement de clics
- Exécution de code à distance
Entreprises célèbres utilisant Django
Voici les entreprises qui utilisent Django :
- BitBucket
- DISQUES
- NASA
- PBS (Service public de radiodiffusion)
- Mozilla
- Le Washington Post
- Temps de New York
- Horaires de Los Angeles
- Le gardien National Geographic
- Chaîne 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 rapide et efficace.
- 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.