Les formulairs en django partie 1, nous allons voir dans ce tutoriel, comment créer un formulaire d'insertion des données via le modèle student. Le formulaire dango aura les mêmes champs que les attributs du modèle students.. Nous allons voir en plus, comment rendre le formulaire opérationnel c.a.d, il permet l'insertion et l'enregistrement des données dans la base sqlite, mysql, mongodb... Pour un bon visionnage de la vidéo, utiliser le navigateur google chrome. Les version de Python testées pour ce tutoriel, sont Python 3.7 Windows 7, Python 3.7 Windows 8, Python 3.7 Windows 10.
django form part 1, we will see in this tutorial, how to create a data insertion form via the student model. The dango form will have the same fields as the attributes of the students model. We will also see how to make the form operational ie, it allows the insertion and recording of data in the sqlite, mysql, mongodb database ... For a good viewing of the video, use the google chrome browser. The Python versions tested for this tutorial are Python 3.7 Windows 7, Python 3.7 Windows 8, Python 3.7 Windows 10.
Le rôle de Django dans les formulaires
La gestion des formulaires en django est une affaire complexe. Considérez l'administrateur de Django, où de nombreux éléments de données de plusieurs types différents peuvent avoir besoin d'être préparés pour être affichés dans un formulaire, rendus au format HTML, édités à l'aide d'une interface pratique, renvoyés au serveur, validés et nettoyés, puis enregistrés ou transmis pour un traitement ultérieur.
La fonctionnalité de formulaire de Django peut simplifier et automatiser de vastes portions de ce travail, et peut également le faire de manière plus sécurisée que la plupart des programmeurs ne pourraient le faire dans le code qu'ils ont eux-mêmes écrit.
Django gère trois parties distinctes du travail impliqué dans les formulaires :
préparer et restructurer les données pour les préparer au rendu
création de formulaires HTML pour les données
recevoir et traiter les formulaires et les données soumis par le client
Il est possible d'écrire du code qui fait tout cela manuellement, mais Django peut s'occuper de tout pour vous.
Formulaires dans Django
Nous avons décrit brièvement les formulaires HTML, mais un form HTML n'est qu'une partie de la machinerie requise.
Dans le contexte d'une application Web, "form" peut faire référence à ce form HTML, ou au formulaire Django qui le produit, ou aux données structurées renvoyées lorsqu'il est soumis, ou à la collection de travail de bout en bout de ces pièces.
La classe Django Form
Au cœur de ce système de composants se trouve la classe Form de Django. De la même manière qu'un modèle Django décrit la structure logique d'un objet, son comportement et la façon dont ses parties nous sont représentées, une classe Form décrit un formulaire et détermine son fonctionnement et son apparence.
De la même manière que les champs d'une classe de modèle correspondent aux champs de base de données, les champs d'une classe de formulaire sont mappés aux éléments --input-- du formulaire HTML. --Un ModelForm mappe les champs d'une classe de modèle aux éléments -input- d'un formulaire HTML via un Form ; c'est sur quoi l'administrateur Django est basé.--
Les champs d'un formulaire sont eux-mêmes des classes ; ils gèrent les données du formulaire et effectuent la validation lorsqu'un formulaire est soumis. Un DateField et un FileField gèrent des types de données très différents et doivent en faire des choses différentes.
Un champ de formulaire est représenté à un utilisateur dans le navigateur comme un « widget » HTML - une pièce de la machinerie de l'interface utilisateur. Chaque type de champ a une classe Widget par défaut appropriée, mais celles-ci peuvent être remplacées si nécessaire.
Instanciation, traitement et rendu des formulaires
Lors du rendu d'un objet dans Django, nous avons généralement :
le récupérer dans la vue --le récupérer dans la base de données, par exemple--
le passer au contexte du modèle
développez-le en balisage HTML à l'aide de variables de modèle
Le rendu d'un formulaire dans un modèle implique presque le même travail que le rendu de tout autre type d'objet, mais il existe quelques différences clés.
Dans le cas d'une instance de modèle ne contenant aucune donnée, il serait rarement, voire jamais utile, d'en faire quoi que ce soit dans un modèle. D'un autre côté, il est parfaitement logique de rendre un formulaire non rempli - c'est ce que nous faisons lorsque nous voulons que l'utilisateur le remplisse.