Rendre la gestion des bases de données plus proche de Python
Le lancement d'un projet Django vous permet de créer l'ensemble du modèle de données de votre application en Python sans avoir besoin d'utiliser SQL. À l'aide d'un associateur objet-relationnel (ORM), Django convertit la structure traditionnelle des bases de données en classes Python pour faciliter le travail dans un environnement entièrement Python. Django-MySQL prend en charge le type de données JSON et les fonctions associées.
Dans Django, vos tables de base de données deviennent des classes Python. Les applications Web accèdent aux données et les gèrent par le biais de modèles Django. Les zones de la base de données sont simplement converties en attributs de classe. Si la définition des attributs de classe en Python vous est familière, vous pouvez facilement concevoir et gérer une base de données Django.
Le framework Web Django offre un raccourci vers une intégration complète avec la base de données de votre application. Il offre les fonctions CRUD (création, lecture, mise à jour, suppression), HttpResponse et le cross-site scripting, fournit des fonctionnalités de gestion des utilisateurs, fournit des fonctions d'administration de logiciels et plus encore. Vous importez les packages, vous vous connectez à votre base de données, puis vous vous remettez au travail pour développer les parties de votre application qui rendent votre produit unique.
Créer des pages dynamiques avec des modèles
Comme Django est conçu pour être utilisé pour le développement d'applications Web, il a besoin d'un moyen de créer facilement du code HTML dynamique qui affiche les données uniques de votre utilisateur. L'application Django produit ce HTML dynamique à l'aide d'un moteur de création de modèles intégré appelé le langage de modèles Django (DTL).
Un modèle HTML permet aux développeurs Django de combiner des éléments statiques (y compris des éléments de conception tels que des couleurs, des logos ou du texte) avec des données (telles que des noms d'utilisateur ou des emplacements) pour créer une page Web à la volée. Avec le modèle-vue-contrôleur (MVC), si vous souhaitez que votre application accueille un utilisateur par son nom lorsqu'il se connecte, vous pouvez créer un modèle qui affiche le texte statique (« Bienvenue sur le site, X »), puis utiliser un caractère générique dynamique pour afficher automatiquement le prénom de l'utilisateur à partir de votre base de données. Lorsque la page s'affiche, elle combine les éléments dynamiques avec les éléments statiques pour créer une expérience utilisateur homogène.
Renforcer la sécurité
Lorsque l'on répond à la question « Qu'est-ce que Django », il convient de parler des fonctions spéciales que Django offre en matière de sécurité. Les applications Web sont des cibles fréquentes des pirates, en particulier les applications qui stockent les informations de connexion des utilisateurs ou des données financières. Django offre des fonctions permettant de protéger votre application et vos utilisateurs.
L'un des plus grands risques pour les sites qui acceptent des données entrées par l'utilisateur est qu'un utilisateur malveillant y injecte un code qui peut avoir un effet désastreux sur votre système. Pour se protéger contre de telles attaques, les modèles Django échappent automatiquement les caractères HTML courants dans les zones dans lesquels l'utilisateur entre des données. Par exemple, il convertit automatiquement « < » en « <», afin de rendre difficile l'injection de code malveillant dans votre programme. Django protège des injections SQL de la même manière, en réinterprétant les commandes non autorisées, afin que les utilisateurs ne puissent pas introduire leur propre code dans votre base de données.
Les développeurs Web peuvent également compter sur les API Django pour utiliser automatiquement la protection CSRF (cross-site request forgery), afin d'insérer des jetons secrets spécifiques aux utilisateurs dans les requêtes POST. Ainsi, les développeurs Web peuvent empêcher les utilisateurs malveillants de dupliquer d'autres requêtes POST pour se faire passer pour des utilisateurs autorisés.
La protection de Django va au-delà de ses fonctions de sécurité explicites : les efforts de sécurité sont renforcés par la grande expérience et l'expertise de la base d'utilisateurs Django. Si vous créez l'ensemble de votre application Web à partir de zéro, vous risquez d'introduire accidentellement une faille de sécurité dans votre module. Les packages Django sont largement utilisés, open source et bien vérifiés par les développeurs Web. Vous pouvez donc être assuré qu'ils protégeront vos données.