Validation de la forme dans Django

Validation de la forme dans Django

La validation du formulaire est une tâche très importante pour toute application Web pour saisir des données valides dans la base de données. Les utilisateurs de l'application ne pourront pas insérer des données non valides si les données du formulaire sont validées avant de soumettre. Django est appelé cadre basé sur MVT (modèle de vue du modèle) où la tâche du contrôleur est effectuée par ce cadre lui-même. Les tâches liées à la base de données sont effectuées par modèle et les données sont présentées au modèle à l'aide de la vue. Les champs d'un formulaire sont générés en fonction du modèle particulier qui inséra les données dans la base de données Django après validation. Un type de validation est effectué par le navigateur basé sur le type de champ défini dans le modèle. En utilisant le est valable() La fonction est une autre façon de vérifier les données du formulaire, qu'elles soient valides ou non après avoir soumis le formulaire. Ce tutoriel vous montrera comment les données peuvent être insérées dans la base de données Django après avoir validé le formulaire.

Conditions préalables

Avant de pratiquer le script de ce tutoriel, vous devez effectuer les tâches suivantes:

  1. Installez la version 3+ de Django sur Ubuntu 20+ (de préférence)
  2. Créer un projet Django
  3. Exécutez le serveur Django pour vérifier que le serveur fonctionne correctement ou non.

Configurer une application Django

1. Exécutez la commande suivante pour créer une application django nommée validationApp.

$ python3 gérer.py startApp validationApp

2. Exécutez la commande suivante pour créer l'utilisateur qui est utilisé pour accéder à la base de données Django. Si vous avez créé l'utilisateur avant, vous n'avez pas besoin d'exécuter la commande.

$ python3 gérer.py créeuperuser

3. Ajouter le nom de l'application dans le Installé_app partie de la py déposer.

Installé_apps = [

'ValidationApp'
]]

4. Créer un dossier nommé modèles à l'intérieur de validationApp dossier et définissez le modèle Emplacement de l'application dans le Modèles partie de la py déposer.

Modèles = [

… .
'DIRS': ['/ home / fahmida / django_pro / validationApp / modèles']],
… .
,
]]

Validation du formulaire Django

Vous devez écrire le code pour les fichiers suivants pour vérifier la tâche de validation du formulaire dans Django.

  • des modèles.py
  • administrer.py
  • vues.py
  • formes.py
  • client.html

Créer le modèle

Ouvrir le des modèles.py fichier à partir du dossier de l'application et ajoutez le script suivant pour créer la structure du clients tableau. La table contiendra quatre champs. Ce sont les Full_name, le courrier électronique, Contact_No et Customer_Type. Ici, le client_type est créé par type de sélection. Cela signifie que l'utilisateur doit sélectionner n'importe quelle valeur dans la liste déroulante.

des modèles.py

# Modèles d'importation
De Django.Modèles d'importation DB
# Définir la classe pour l'entrée du client
Client de classe (modèles.Modèle):
# Définir les valeurs pour le type de client
type = (
(«payé», «payé»),
('gratuit gratuit')
)
# Définir les champs pour le tableau client
Modèles full_name =.Charfield (max_length = 50)
Email = modèles.E-mail Field ()
Contact_No = Modèles.Charfield (max_length = 20)
Customer_Type = Modèles.Charfield (max_length = 32, choix = type, default = 'free')

Enregistrer le modèle

Ajouter le script suivant dans l'administrateur.py dossier pour enregistrer le Client Modèle dans la base de données Django pour accéder au clients table du tableau de bord administratif de Django.

administrer.py

# Importer le module d'administration
De Django.contriber d'importation administrateur
# Importer un modèle client
depuis .Modèles Importer le client
# Enregistrer le modèle client
administrer.placer.inscrire (client)

Créer formes.py à l'intérieur du dossier de l'application et ajoutez le script suivant pour définir la classe pour créer la forme en fonction des champs mentionnés de le consommateur modèle.

formes.py

# Module d'importation des formulaires
à partir des formulaires d'importation de Django
# Importer un modèle client
De ValidationApp.Modèles Importer le client
# Définir la classe pour le formulaire client
Class Customerform (formulaires.Modelform):
Classe Meta:
modèle = client
fields = ('full_name', 'e-mail', 'Contact_No', 'Customer_Type')

Créer un modèle

Créer un fichier html nommé client.html avec le script suivant pour afficher la forme précédemment conçue avec le Sauvegarder bouton.

client.html





Formulaire d'enregistrement des utilisateurs


Formulaire d'entrée client


% csrf_token%
former.as_p



Insérer des données après la validation du formulaire

Modifier le contenu du vues.py fichier avec le script suivant. AddCustomer () La fonction est utilisée dans le script pour insérer un nouvel enregistrement dans le clients table après validation du formulaire. Si le formulaire n'est pas soumis, le formulaire sera chargé en utilisant le consommateur.html déposer. Si le formulaire est soumis avec les données valides, un nouvel enregistrement sera inséré à l'aide du sauvegarder() La fonction et un message de réussite seront imprimés dans le navigateur avec la possibilité d'ajouter un autre enregistrement.

vues.py

# Importer le module HTTPResponse
De Django.http.Réponse importation httpResponse
# Module d'importation
De Django.Raccourcis
# Importer Customerform
De ValidationApp.Forms Import Customerform
# Définissez la fonction pour ajouter la saisie du client
def addCustomer (demande):
Si demande.Méthode == "Post":
formulaire = CustomerForm (demande.POSTE)
# Si les données du formulaire sont valides ou non
Si la forme.est valable():
essayer:
# Enregistrer les données du formulaire dans la base de données
former.sauvegarder()
# Définir le message pour l'utilisateur
data = ['

Les données client insérées correctement.


Ajouter un autre']
# Renvoie la réponse
retourner httpResponse (données)
sauf:
passer
autre:
# Définir l'objet de formulaire
form = clientform ()
# Afficher le formulaire d'entrée client
Retour Render (demande, 'Client.html ', ' form ': form)

Modifier le URL.py Fichier du projet Django avec le script suivant. Deux chemins ont été définis dans le script. 'client/' Le chemin sera utilisé pour afficher le formulaire pour ajouter les nouveaux enregistrements clients. Le 'admin /' Le chemin sera utilisé pour afficher le tableau de bord de l'administration Django.

URL.py

# Importer le module d'administration
De Django.contriber d'importation administrateur
# Module d'importation de chemin
De Django.Chemin d'importation des URL
# Affichage d'importation
à partir des vues d'importation ValidationApp
# Définir le chemin du client et de l'administrateur
urlpatterns = [
Path ('Client /', vues.AddCustomer),
Path ('admin /', admin.placer.URL)
]]

Exécutez le serveur Django et exécutez l'URL suivante du navigateur pour afficher le formulaire de saisie client. Si la Sauvegarder Le bouton est enfoncé sans ajouter de données dans le formulaire, puis la page suivante apparaîtra avec des erreurs pour garder les champs requis vides.

Si les données non valides sont définies pour le champ de messagerie, l'erreur suivante apparaîtra.

Les informations suivantes apparaîtront si le formulaire est soumis avec des données valides. Si l'utilisateur clique sur le 'Ajouter un autre' lien, le formulaire apparaîtra à nouveau pour insérer des données pour le prochain enregistrement.

Conclusion

La manière de valider un formulaire Django a été montrée dans ce tutoriel en créant une application Django simple. Ladite application aidera les développeurs de Django à comprendre l'importance de la validation des formulaires et ils pourraient le faire correctement.